OpenTest는 웹 응용 프로그램, 모바일 앱 및 API를위한 무료 및 오픈 소스 기능 테스트 자동화 도구입니다.
우리는 이미 설립 된 상업용 제품과 오픈 소스 프로젝트 모두에 이미 많은 것들이 있다는 것을 알고 있습니다. 우리는 오랫동안 적절한 도구를 찾았고, 우리의 기대를 정확하게 충족시키지 못한 결과와 함께 그 중 상당수를 공정하게 시도했습니다. 우리는 표준화 할 수있는 도구를 찾고 있었는데, 다양한 내부 및 외부 팀의 테스트 자동화 노력을 다양한 크기, 기술, 예산 및 지리적 위치로 통합 할 수있었습니다. 이 도구는 업계에서 최신 모범 사례를 통합해야하며 이상적으로는 오픈 소스 라이센스로 릴리스되어 긴 프로세스를 제거하고 비용을 줄일 수 있습니다. 이러한 고려 사항과 다른 요구 사항을 감안할 때, 우리는 처음부터 건축이 책임감있는 선택이라고 결정했습니다.
OpenTest는 건강한 원칙을 따르면서 최신 테스트 자동화 도구의 모든 기능을 제공하는 것을 목표로합니다. 우리는 기능 테스트 자동화를 민주화하고 스스로를 구축 할 수있는 훌륭한 커뮤니티를 만들고자합니다. 인생의 어떤 것도 완벽하지 않고 소프트웨어가 완전하지는 않지만, 우리는이 제품에 들어간 모든 기능이 한쪽의 전력과 유연성 사이의 최상의 균형과 다른쪽에 대한 유용성 사이의 최상의 균형을 달성하기 위해 철저하게 생각되고 신중하게 구현되었다고 약속합니다.
셀레늄이있는 웹 테스트 . 모든 브라우저가 지원됩니다. 로컬 컴퓨터에서 테스트를 실행하거나 클라우드 제공 업체를 사용합니다.
Appium을 사용한 Android 및 iOS 앱에 대한 모바일 테스트 . 로컬 컴퓨터에서 테스트를 실행하거나 클라우드 제공 업체를 사용합니다.
Apache Httpclient 라이브러리 위에 구축 된 API 테스트 .
키워드 중심 테스트 . 기본 기술의 복잡성을 숨기고 간결하고 읽기 쉬운 방식으로 자신을 표현할 수있는 고급 빌딩 블록을 사용하여 테스트를 조립하십시오.
스크립팅 지원 . 키워드 중심 테스트 내에 유기적으로 내장되어 물건을 깨끗하고 읽을 수 있도록하는 JavaScript 코드를 사용하여 복잡한 테스트 시나리오를 덮으십시오.
병렬 테스트 . 병렬로 실행할 수있는 테스트 세션의 수는 실행중인 기계의 자원에 의해서만 제한됩니다 (그러나 클라우드에는 항상 더 많은 기계가 있습니다).
분산 테스트 . 여러 기계, 네트워크 및 기술에서 원활하게 실행하는 테스트를 작성하십시오. 모바일, 웹, API 및 그 사이의 모든 내용에 걸쳐있는 통합 테스트를 작성하십시오.
데이터 중심 테스트 . 별도의 데이터 파일로 유지되는 일련의 데이터 레코드를 통해 여러 번 테스트를 실행하십시오.
확장 가능 . 자신의 사용자 정의 테스트 조치 (키워드)를 작성하여 모든 기술과 통합하십시오.
디자인 별 소스 제어 친화적 . Git에 등이 있다는 것을 알고 자신감을 가지고 협력하십시오. 대형 또는 지리적으로 분산 된 팀에 적합합니다.
환경 . 테스트를 한 번 구축하고 여러 환경에 대해 또는 다른 테스트 데이터 세트를 사용하여 실행하십시오.
다른 사람들과 잘 작동합니다 . 간단한 HTTP API를 사용하여 테스트 세션 시작 및 모니터링, 테스트 결과 수집 등을 제어하십시오.
MacOS, Windows 및 Linux에서 실행되는 크로스 플랫폼 .
(그리고 우리는이 간단한 것을 유지하기 위해 정말 멋진 기능을 많이 건너 뛰어야했습니다)
전제 조건 : Node.js 8 이상; Java 런타임 8 이상.
NPM에서 설치 :
npm install opentest -g비디오 자습서 : https://getopentest.org/docs/installation.html (Windows에서 녹음)
이 가이드의 놀이터로 사용할 수 있도록 홈 디렉토리에서 "opentest"라는 디렉토리를 만들고 해당 디렉토리에 cd 하십시오.
cd ~
mkdir opentest
cd opentest 메모 | Windows에서는 mkdir 대신 md 사용하십시오. |
아래 명령을 실행하십시오
opentest quick-start이제 현재 경로에 이러한 파일과 디렉토리가 있어야합니다.
server
└── server.yaml
actor1
└── actor.yaml
test-repo
├── macros
│ └── ...
├── scripts
│ └── ...
├── templates
│ └── ...
└── tests
└── ... server 와 actor1 디렉토리는 각각 OpenTest 서버 및 테스트 액터의 작업 디렉토리로 사용됩니다. test-repo 디렉토리는 OpenTest의 몇 가지 기본 기능을 보여주는 샘플 테스트 저장소입니다.
새 터미널 창, 서버 작업 디렉토리에 cd 열고 가장 OpenTest 서버를 시작하십시오.
cd ~/opentest/server
opentest serverOPENTESTEST 서버 (일명 Sync Server)는 테스트 실행을 오케스트레이션하고 웹 기반 UI를 제공하는 주요 기능인 Node.js 응용 프로그램입니다.
새 터미널 창, cd 배우의 작업 디렉토리로 열고 테스트 행위자를 시작하십시오.
cd ~/opentest/actor1
opentest actor테스트 행위자는 테스트중인 시스템에서 실행되는 Java 응용 프로그램이며 Sync Server의 지시에 따라 테스트 단계를 실행합니다.
웹 브라우저를 열고 http : // localhost : 3000으로 이동하십시오.
메뉴에서 템플릿에서 세션> 세션 만들기를 선택하십시오. 템플릿 빠른 시작 테스트를 선택하고 세션 생성을 클릭하십시오. 몇 초 동안 기다렸다가 브라우저를 새로 고쳐 테스트 세션 결과를보십시오.
OpenTest에는 세 가지 구성 요소가 있습니다.
주로 세 가지 기능을 수행하는 Node.js 응용 프로그램 인 Sync Server
테스트 실행 오케스트레이션.
테스트 세션을 작성하고 테스트 결과를 검사하는 데 사용될 수있는 웹 UI를 노출시킵니다.
UI와 거의 동일한 목적으로 활용할 수있는 친숙한 API를 노출시킵니다.
Test Actor , Sync Server의 지시에 따라 테스트 실행을 담당하는 Java 응용 프로그램입니다. 동일한 테스트에 참여하는 여러 액터가있을 수 있으며 클라우드를 포함한 모든 네트워크의 모든 컴퓨터에 액터를 배포 할 수 있습니다. 유일한 요구 사항은 테스트 행위자가 Sync 서버에서 노출 된 HTTP API와 통신 할 수 있다는 것입니다. Sync 서버가 액터와의 통신을 시작할 수있는 필요성은 없으며, 이는 배우가 방화벽 뒤에있는 실험실에서 또는 Sync 서버를 실행하지 않는 시스템에서 액세스 할 수없는 네트워크에서 실행중인 시나리오에서 설정을 크게 단순화합니다.
다양한 테스트 자산 (테스트 파일, 스크립트, 테스트 세션 템플릿 등)을 포함하는 소스 제어 아래에 사전 정의 된 필수 구조가있는 디렉토리 인 테스트 저장소 .

OpenTest는 MIT 라이센스에 따라 출시 된 오픈 소스 소프트웨어입니다.
귀하가 명시 적으로 명시 적으로 명시하지 않는 한,이 저장소에 포함시키기 위해 귀하가 의도적으로 제출 한 기부금은 추가 약관이나 조건없이 위와 같이 라이센스가 부여됩니다.
자세한 내용은 기고 가이드 라인 문서를 참조하십시오.
테스트 및 개발을위한 오픈 소스 계정을 제공 한 Browserstack에게 감사드립니다!
크로스 브라우저 테스트 플랫폼 및 오픈 소스 ∎ 소스 실험실에서 제공