오이를 Jenkins와 통합하는 방법?

Cucumber는 웹 애플리케이션의 자동화 테스트를위한 오픈 소스 BDD (Behavior-Driven Development) 테스트 도구입니다. 기능 및 승인 테스트를위한 최고의 프레임 워크 중 하나입니다. 이는 오픈 소스 커뮤니티에서 널리 채택되고 자연어 지원이 강화되었으며 새로운 프로그래밍 언어를 신속하게 지원할 수있는 능력 때문입니다. Selenium 을 사용하는 거의 모든 조직은 Cucumber를 사용하여 애플리케이션 흐름을 읽고 이해하기 쉽기 때문에 Selenium을 Cucumber와 통합하는 것을 선호합니다. 테스트 케이스 실행을 원격으로 예약하기 위해 Jenkins 통합이 포함 된 Cucumber로 이동하여 Jenkins의 엄청난 이점을 활용할 수도 있습니다.

Cucumber Jenkins 설정 시작하기

Cucumber는 웹 애플리케이션의 민첩한 개발과 결과보고로 잘 알려져 있습니다. 이해하기 쉬운 언어, 강력한 플러그인, Selenium과의 직접적인 통합을 통해 Jenkins 통합으로 Cucumber를 시작하는 것이 그 어느 때보 다 쉬워졌습니다.

시작하기 전에 먼저 Cucumber와 Jenkins 통합이 필요한 이유를 이해하겠습니다. 그 이유는 다음과 같습니다. 오이가 다음을 연결하는 다리 역할을합니다.

  1. 수동 테스터 및 개발자.
  2. 소프트웨어 엔지니어 및 비즈니스 분석가.
  3. 수동 테스터 및 자동화 테스터.

이제 Cucumber를 Jenkins와 통합하는 방법을 살펴 보겠습니다.

Cucumber와 Jenkins 통합의 전제 조건

Jenkins 통합으로 Cucumber를 시작하려면 아래 플러그인을 설치해야합니다. 아래 플러그인의 개요와 유틸리티를 살펴 보겠습니다. 이 섹션에서는 Cucumber 형식화 출력과 함께 작동하는 일부 Jenkins 플러그인을 사용하는 방법을 알아 봅니다.

  1. 오이 테스트 결과 플러그인
  2. 오이 보고서
  3. Cucumber perf 플러그인

이 플러그인은 Cucumber JSON 출력을 입력으로 받아 결과를 다색으로 게시합니다. 결과는 통과하면 녹색으로 표시되고 실패하면 빨간색으로 표시됩니다.

Cucumber Test Results 플러그인을 설치하는 방법은 다음과 같습니다. 자세한 내용 은 Jenkins에서 TestNG 보고서 생성에 대한 블로그를 참조 할 수도 있습니다 .

  1. Jenkins 서버에 관리자로 로그인합니다.
  2. " Manage Jenkins "로 이동합니다 .
  3. 계속해서“ Manage Plugins ”를 클릭하십시오 .

5. 오른쪽 상단 모서리에있는 필터에서 “ 오이 ”를 검색합니다 .

6. 계속해서 Cucumber 보고서 에 대한 확인란을 선택 합니다 .

7. " 다시 시작하지 않고 설치 "를 선택 하여 설치를 시작합니다.

8. 왼쪽 메뉴에서 " 대시 보드로 돌아 가기 "를 클릭 합니다.

9. 이미 생성 된 작업으로 이동합니다 . 우리의 경우 '오이'.

10. 작업에 대해 “ 구성 ”을 클릭 합니다.

11. 빌드 후 작업 까지 아래로 스크롤합니다 . ' 빌드 후 작업 추가 '에서 'Cucumber 보고서'를 선택합니다.

12. 고급을 클릭 합니다 . 빌드 후 작업으로 이동합니다 . 그림과 같이 텍스트 상자에 아래 보고서 파일을 추가하십시오. 하단의 메시지를 무시할 수 있습니다. 아직 파일이 없기 때문에 빌드를 실행하면 생성됩니다.

13. 다음 단계는 Cucumber JSON 보고서를 생성하는 것입니다.

14. page-object_framework에서 cucumber.yml 파일을 열고 아래 강조 표시된 문자열을 추가하십시오.

15. 이는 HTML 보고서에 추가로 reports.json 출력이 있는지 확인하기위한 것입니다. 오이 플러그인은 Jenkins에서이를 구문 분석합니다.

실행

실행하려면 작업의 왼쪽 메뉴에서 " 지금 빌드 "버튼을 클릭합니다 . 빌드가 성공해야합니다. 콘솔 출력을 보는 대신 빌드 마지막에 " Cucumber Test Result "를 선택 합니다.

결과

다음으로 모든 단계의 상태를 볼 수있는 기능-> 시나리오 로 이동합니다. 아래와 같이 모두 초록색입니다.

B. 오이 보고서

Cucumber Reports 플러그인은 JSON 출력을 읽고 기능 또는 시나리오 결과에 대한 파이 차트 및 태그에 대한 막대 그래프를 생성 할 수 있습니다. 결과를 JSON 형식 (예 : cucumber.yml)으로 출력하는 "-f json -out cucumber.json"옵션이 있으면 가능합니다. 이 플러그인에는 테스트 결과에 대한 중요한 결정을 내리는 데 도움이되는 고급 옵션이 있습니다.

  1. 빌드 후 단계를 추가하고 아래와 같이 " 오이 결과를 보고서로 게시 "옵션을 선택합니다.

3. 다음으로 작업을 실행하고 보고서를 클릭합니다. 보고서는 아래와 같이 SWF 차트 형식입니다.

결과

다음과 같은 결과를 얻습니다.

C. Cucumber perf 플러그인

이 플러그인은 Cucumber 결과가 트렌드로 어떻게 작동하는지에 대한 기록을 보여줍니다. 이는 제품군을 여러 번 계속 실행할 때 유용합니다.

시간이 지남에 따라 “ 최저 성능 기능 ” 과 같은 추가 기능이 있습니다 . 이는 주로 이러한 병목 현상에 집중하는 데 도움이되며 추가로 디버깅 할 수 있습니다.

Cucumber와 Jenkins 통합

이제 Cucumber with Jenkins 통합에 대한 전제 조건이 모두 설정되었습니다. 이 섹션에서는 이러한 플러그인을 사용하여 Cucumber를 Jenkins와 통합하는 방법을 살펴 봅니다. 아직 설치하지 않았다면 처음부터 시작하겠습니다.

  1. Jenkins URL에 액세스합니다. 기본값은 포트 8080입니다.
  2. " Manage Jenkins "-> " Manage Plugins "로 이동합니다 .
  • 오이 테스트 결과 플러그인
  • 오이 보고서
  • Cucumber perf 플러그인

4. 다음 단계는 " 관리 "-> " 전역 도구 구성 " 으로 이동하는 것 입니다. " JDK "에서 JDK 의 경로를 설정합니다.

5. " Maven "에서 Maven 의 경로를 설정합니다.

6. 아래와 같이 Maven 프로젝트로 “ New Item ”을 생성 합니다. 임의의 이름을 입력하십시오.

7. 작업이 생성되면 왼쪽 패널 에서 " 구성 "링크를 클릭합니다.

8. 페이지를 아래로 스크롤합니다. “ Root POM ”과“목표 및 옵션” 에서 pom.xml의 전체 경로를 'test'로 설정하고 구성 저장을 진행합니다.

9. 위의 모든 단계가 완료되면 " 지금 빌드 "버튼을 클릭합니다.

10. 빌드가 실행되고 해당하는 testing.xml 파일 인 pom.xml이 실행됩니다.

[INFO] T E S T S
[INFO] ——————————————————-
[INFO] Running TestSuite
New scenario begins
Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 27348
Only local connections are allowed.
(org.apache.http.client.protocol.RequestAddCookies).
Feb 02, 2021 09:49:41 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
https://avatars3.githubusercontent.com/u/31874017?s=400&u=c41bfae0fa6b9325fb4f209885b51bd02c7d897d&v=4
https://avatars3.githubusercontent.com/u/31874017?s=400&u=c41bfae0fa6b9325fb4f209885b51bd02c7d897d&v=4
Scenario ends
New scenario begins
Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 24866
Only local connections are allowed.
Feb 02, 2021 09:50:47 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Scenario ends
2 Scenarios (2 passed)
14 Steps (14 passed)
2m2.677s
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 128.513 s – in TestSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[JENKINS] Recording test results
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 02:04 min
[INFO] Finished at: 2021-02-02T09:51:45+05:30
[INFO] Final Memory: 12M/28M
[INFO] ————————————————————————
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving D:\cucumberFinal\multiple\pom.xml to com/cucumber.example/0.0.1-SNAPSHOT/cucumber.example-0.0.1-SNAPSHOT.pom
channel stopped
Finished: SUCCESS

Jenkins로 Cucumber 스크립트 실행

Cucumber 프레임 워크로 빌드 된 자동화 스크립트는 이해하기 쉽고, 의사 소통하기 쉬우 며, 유지 관리가 좋다는 이점이 있으므로 테스트 자동화 팀 사이에서 인기가 있습니다. DevOps 통합의 필수 측면은 자동화 된 테스트를 지속적 통합 (CI) 프로세스에 통합하는 것입니다.

이제 Cucumber Jenkins 설정을 완료 했으므로이 섹션에서는 자동화 된 Cucumber 테스트 스크립트를 실행하고 Jenkins UI 보고서를 표시하도록 Jenkins를 구성하는 방법을 살펴 보겠습니다. 다음 방법을 사용하여 수행 할 수 있습니다.

  1. 오이의 명령 줄 모드
  2. CukeTest의 명령 줄 모드
  3. Jenkins 지속적 통합 구성
  4. Jenkins 테스트 보고서 플러그인 구성

Cucumber 명령 줄을 설명하기 위해 Cucumber.js를 사용합니다. 이 도구를 이미 알고있는 많은 사람들은 자동화 스크립트의 디렉토리에서 직접 "Cucumber-js"명령을 실행한다는 것을 알고 있습니다. 또는 Cucumber를 전역으로 설치하지 않은 경우 "node modules / .bin / cucumber-js"(또는 Windows의 경우 .cmd 확장자)를 실행하면 로컬에 설치된 Cucumber가 사용됩니다. 실행 후 명령 줄의 텍스트 출력이 기록됩니다. 당신은 우리를 참조 할 수 있습니다 Cucumber.js 튜토리얼 자세한 내용은.

Jenkins에서 작업으로 실행하는 경우 명령 줄은 동일합니다. Jenkins가 시각적 보고서를 렌더링하도록하려면 출력 파일을 "JSON"형식으로 나타내는 "format"매개 변수를 추가하기 만하면됩니다. 다음은 명령 줄입니다.

node_modules\.bin\cucumber-js --format json:report.json

CukeTest의 명령 줄 모드

CukeTest는 Cucumber.js의 개발 도구입니다. 이 버전은 명령 줄 모드를 지원하며 Windows Desktop, Windows Store, MacOS 등에서 사용할 수 있습니다. CukeTest의 공식 웹 사이트에서 무료로 사용할 수 있습니다. CukeTest는 Cucumber.js 용 스크립트를 빌드하는 데 사용되며 명령 줄에서 Cucumber.js 용 스크립트를 실행하는 데 사용할 수도 있습니다.

CukeTest를 사용하는 이점은 각 프로젝트마다 Cucumber.js를 설치할 필요가 없다는 것입니다. CukeTest에는 이미 Cucumber.js가 내장되어있어 저장 공간과 시간을 절약 할 수 있습니다. 또 다른 장점은 라이브러리 내장, 비디오 캡처 등으로 Windows 자동화를 실행할 수 있다는 것입니다.

CukeTest의 Windows Store 버전에는 다른 명령 줄 프로세스가 있으므로 명령 줄이 데스크톱 버전과 약간 다릅니다. 운 좋게도 명령 줄의 모든 세부 사항을 기억할 필요는 없습니다.

  1. CukeTest에서 " 프로젝트 실행 "버튼 옆에있는 드롭 다운 화살표 를 클릭 한 다음 " 프로필 편집 "을 클릭 하여 프로젝트가 열릴 때 실행 프로필을 열어 명령 줄을 가져올 수 있습니다.

3. " 클립 보드에 복사 "옵션을 클릭하여 명령을 클립 보드에 복사합니다.

4. 그런 다음 " 콘솔 창 열기 "옵션을 클릭하고 새로 열린이 창에 명령 줄을 붙여 넣습니다.

다음은 다양한 플랫폼에 대한 명령 줄입니다.

  1. Windows Store 버전 용 명령 줄
  2. chcp 65001 && start cuketest://?profile=Profile1
    

chcp 65001 && cuke --run --format html

Jenkins 지속적 통합 구성

명령 줄에서 프로젝트를 실행하는 단계를 알고 있으면 Jenkins를 구성하여 실행할 수 있습니다. 다음은 Jenkins 작업을 구성하는 단계입니다.

데모의 경우 소스 코드가 https://github.com/CnodejsTest.이 프로젝트는 테스트 cnodejs.org 커뮤니티 사이트를 자동화하는 데 사용됩니다. 또는 Cucumber 프로젝트를 사용하여 작업을 구성하고 실행할 수 있습니다.

  1. Jenkins에서 새 작업을 만듭니다. 임의의 이름을 입력하십시오.

npm install
chcp 65001 && cuke --run --format html

3. 아래에 입력 한 명령으로 아래 작업 구성 UI를 수행합니다.

4. ' 저장 '을 클릭하여이 프로젝트 구성을 저장 합니다. 이제 " 지금 빌드 "버튼을 클릭하면 프로젝트가 실행되기 시작합니다.

빌드 기록에서 작업의 지금 빌드시 실행 진행률을 관찰 할 수 있습니다.

빌드 히스토리에서 실행중인 작업 로그를 찾을 수도 있습니다. 정확한 순간에 보고서 파일은 Jenkins Workspace 디렉터리에도 생성됩니다.

5. 다음 단계는 Jenkins 인터페이스 테스트 보고서를 표시하도록 Jenkins 작업을 구성하는 것입니다. 이는 테스트 보고서를 포맷하고 표시하기 위해 이전 섹션에서 방금 본 플러그인을 사용하여 빠르게 수행 할 수 있습니다.

Jenkins 테스트 보고서 플러그인 구성

Jenkins에서는 Cucumber 보고서 플러그인을 사용하여 보고서를 표시 할 수 있습니다. 위의 Cucumber Jenkins 설정에서이 플러그인에 대한 소개를 이미 보았습니다. 또한 공식 Jenkins 웹 사이트 에서이 플러그인에 대한 정보를 읽을 수도 있습니다 .

다음은 보고서를 생성하도록 Jenkins를 구성하는 단계입니다.

  1. 플러그인 젠킨스 보고서 설치
    열기 젠킨스 -> 플러그인 관리 -> 필터 " 오이 보고서 옵션 플러그인에서".

2. Jenkins 작업 재구성

Cucumber 보고서 플러그인은 Cucumber 또는 CukeTest에서 생성 한 JSON 보고서 파일을 구문 분석하여 보고서를 생성하므로 보고서를 생성하려면 JSON 로그 데이터 파일이 필요합니다. 따라서 먼저 JSON 로그 데이터 파일을 생성 할 실행중인 프로젝트를 구성해야합니다.

실행 구성 파일 에서 보고서 형식으로 " JSON " 을 선택해야 합니다.

이 명령을 실행하면 명령 줄 실행 출력이 json으로 변경됩니다.

3. Cucumber 보고서 표시
' 빌드 후 작업 추가 '작업에서 ' Cucumber 보고서 '옵션을 선택합니다.

' 오이 보고서 ' 에서 ' 고급 '옵션으로 이동 합니다 . 'JSON Reports Path'에 'reports'를 입력합니다.

저장 을 클릭 하여 프로젝트 구성을 완료하십시오.

4. 테스트 보고서 생성 테스트 보고서
를 생성하려면“ 지금 빌드 ”버튼 을 클릭해야 합니다. 작업이 완료되면 테스트 보고서가 자동으로 생성됩니다. 또한 테스트 보고서는 각 시나리오에 대한 링크를 제공하며 각 링크를 클릭하면 시나리오의 세부 정보가 표시됩니다. 보고서는 또한 각 시나리오 단계에서 캡처 된 스크린 샷 또는 각 단계의 실행 결과와 함께 후크를 나타냅니다.

지금까지 우리가 본 것은 Cucumber를 Jenkins와 통합하는 방법과 Jenkins에서 Cucumber 스크립트를 그래픽 보고서 생성과 함께 실행하는 방법입니다.

또한 클라우드 기반 플랫폼의 자동화 기능을 활용하여 원격 테스트를 그 어느 때보 다 원활하게 할 수 있습니다. LambdaTest의 Selenium Grid 클라우드 에서 실행되도록 Cucumber 스크립트를 구성 하고 2000 개 이상의 브라우저, 디바이스 및 운영 체제에서 테스트를 수행 할 수 있습니다. 다음 섹션에서는 Jenkins 통합 및 LambdaTest를 통해 Cucumber를 최대한 활용하는 방법을 알아 봅니다.

LambdaTest Cloud Selenium Grid로 Cucumber Jenkins 설정 활용

아래에서는 LambdaTest 플랫폼에서 Cucumber 스크립트를 실행하는 방법을 볼 수 있으며, 위에서 정의한 것과 동일한 단계를 사용하여 Jenkins를 통합하여 보고서를 생성 할 수 있습니다.

스크립트 실행을 시작하기 전에 몇 가지 전제 조건 :

  1. Java가 시스템에 설치되어 있다고 가정합니다. 바람직하게는 JDK 8 이상.
  2. 또한 node.js가 설치되어 있다고 가정합니다. 그렇지 않은 경우 쉽게 설치할 수 있습니다.https://nodejs.org/en/.
  3. LambdaTest 자격 증명은 환경 변수로 설정해야합니다.
  4. Windows 사용자 인 경우
    세트 LT_USERNAME =”YOUR_USERNAME”
    set LT_ACCESS_KEY =”YOUR ACCESS KEY”로 설정하십시오.
  5. Mac 사용자 인 경우
    export LT_USERNAME =”YOUR_USERNAME”
    export LT_ACCESS_KEY =”YOUR ACCESS KEY”로 설정하십시오.
  6. 액세스 키를 알지 못하는 경우 LambdaTest 대시 보드 에서 쉽게 검색 할 수 있습니다 .
  7. 또한 이러한 자격 증명을 사용하여 conf / 디렉토리 내의 .conf.js 파일을 업데이트해야합니다.
    • Git에서 호스팅되는 리포지토리에 대한 스크립트를 처음 실행하는 경우 GitHub의 NodeJs-Cucumber-Selenium 인 LambdaTest에서 제공하는 샘플 리포지토리를 복제 할 수 있습니다.
    • 복제 된 디렉터리로 이동하고 아래 명령을 사용하여 프로젝트 종속성을 설치합니다. $ npm install
    • karma-jasmine-sample로 이동하여 $ npm run single실행하여 테스트를 단일 또는 $ npm run parallel병렬로 실행합니다.

    아래 샘플 스 니펫은 동일한 내용을 보여줍니다.

    결론

    이 블로그는 Cucumber와 Jenkins 통합이 자동화 스크립트를 성공적으로 실행하는 데 어떻게 도움이되는지 보여줍니다. 또한이 Cucumber와 Jenkins 통합을 활용하여 LambdaTest 클라우드 플랫폼에서 스크립트를 실행할 수도 있습니다. 가장 좋은 점은 프로젝트 이해 관계자가 Cucumber Jenkins 설정 후 테스트 보고서를 읽고 품질 상태를 이해할 수 있다는 것입니다. Jenkins에는 시간 제한 서비스 설정, 메일 보내기 및 기타 기능과 같은 많은 다른 기능도 있습니다. HTML 보고서를 주요 이해 관계자에게 이메일로 보내는 것과 같이 프로젝트 요구 사항에 따라 보고서 알림을 추가로 사용자 지정하도록 구성 할 수 있습니다.

    이 블로그가 도움이 되었다면 의견을 남기십시오. 질문이나 의문이있는 경우 언제든지 LambdaTest 커뮤니티에서 쿼리를 확인하고 해결할 수 있습니다!

    즐거운 테스트 되세요!

    저자 Piyusha

    자주 묻는 질문

    Jenkins에서 Maven Cucumber 프로젝트를 어떻게 실행합니까?

    Jenkins 서버에 관리자로 로그인합니다. 다음 플러그인을 설치했는지 확인하십시오.

    오이 테스트 결과 플러그인.

    오이 보고서.

    Cucumber perf 플러그인.

    Maven 프로젝트로 새 항목을 만듭니다. JDK의 경로를 설정합니다. Maven의 경로를 설정하십시오. 아래와 같이 Maven 프로젝트로“New Item”을 생성합니다. 임의의 이름을 입력하면 자신의 Maven 프로젝트가 있습니다!

    Jenkins에서 Cucumber 보고서를 어떻게 추가합니까?

    이는 Cucumber 보고서 플러그인을 사용하여 수행 할 수 있습니다. Jenkins를 실행하고 'Manage Plugins'로 이동하여 플러그인을 설치합니다. 이제 "보고서로 오이 결과 게시"옵션을 사용하여 오이 보고서를 만들 수 있습니다.

    Jenkins에서 Cucumber 보고서를 가져 오는 데 사용되는 파일은 무엇입니까?

    Cucumber Reports 플러그인은 JSON 출력을 읽고 기능 또는 시나리오 결과에 대한 파이 차트 및 태그에 대한 막대 그래프를 생성 할 수 있습니다. 결과를 JSON 형식 (예 : cucumber.yml)으로 출력하는 "-f json -out cucumber.json"옵션이 있으면 가능합니다.

Suggested posts

Travis CI로 소프트웨어 구축 교육

(이것은 https : //www.cs에서 이전 된 2014 년의 오래된 기사입니다.

에너지 절약 서비스를위한 가장 달콤한 과일 샐러드 레시피

에너지 절약 서비스를위한 가장 달콤한 과일 샐러드 레시피

챕터 0. 별들에게 에너지 절약 로켓 발사 새로운 서비스 제공을 향한 우리가 직면 한 결정과 도전 (고통과 즐거움)을 설명하는 기사 시리즈의 첫 번째 장에 오신 것을 환영합니다.