파이프라인을 사용하여 Jenkins Selenium 테스트를 시작하는 방법

최종 업데이트 2019년 3월 2일 — Continuous Testing 전문가

 

Jenkins는 다음을 지원하도록 설계된 오픈 소스 Java 소프트웨어 시스템입니다. 지속적인 소프트웨어 통합 프로세스입니다. Apache Tomcat과 같은 서블릿 컨테이너에서 실행되는 서버 기반 시스템입니다. Jenkins는 버전 관리 도구(예: Git)를 지원하며 Apache Ant, Apache Maven, SBT는 물론 임의의 셸/Windows 배치 스크립트 및 명령을 기반으로 프로젝트를 실행할 수 있습니다. 대규모 시스템 개발 시에는 지속적인 배포 프로세스 제품의 새 버전을 테스트하는 경우, Jenkins SeleniumPipeline을 사용하여 이 문제를 해결합니다.

Jenkins Selenium Pipeline은 Jenkins에 지속적 배포(CD) 통합을 지원하는 플러그인 모음입니다. 다시 말해, 여러 작업을 포함하고 특정 조건이 충족될 때마다 실행될 수 있는 스크립트입니다. 파이프라인 사용 예를 살펴보겠습니다. 더 자세한 내용은 Digital.ai Continuous Testing 통합, 살펴보세요 여기에서 확인하세요.

우리의 임무는 Maven 공개 테스트 저장소에 푸시될 때마다 자동으로 실행되는 파이프라인을 만드는 것입니다. 저장소에는 Selenium Webdriver를 사용하여 작성된 UI 자동 테스트가 포함된 Maven 프로젝트가 저장됩니다.

Jenkins 파이프라인은 코드 변경 사항을 수신하고, 프로젝트를 빌드하고, 간단한 자동 테스트를 실행합니다.

단계에서 :

1) 다운로드 젠킨스.

2) 설치 프로그램의 권장 매개변수를 따라 설치합니다. (중요: 인터넷에 연결된 별도의 컴퓨터에 Jenkins를 설치하는 것이 좋습니다. 인스턴스를 저장소에 연결해야 합니다. 하지만 데모에서는 Ngrok 도구를 통해 접근할 수 있는 로컬 Jenkins 프로젝트를 사용할 수 있습니다(이 글에서는 사용할 것입니다).

3) 설치가 완료되면 "새 작업 만들기" 버튼을 클릭하세요.

환영합니다 - 젠킨스 파이프라인

4) 그런 다음, 파이프라인 섹션을 선택하고 작업 이름을 입력한 후 확인을 클릭합니다.

아이템 이름 - 젠킨스 파이프라인

5) 그런 다음 파이프라인 섹션으로 이동하여 다음 매개변수를 설정합니다.

a) 정의 = "SCM의 파이프라인 스크립트"

빌드 트리거 - 젠킨스 파이프라인

b) SCM = "Git"

빌드 트리거 - 젠킨스 파이프라인

6) 저장소를 설정합니다. 여기서 스크립트 경로 필드는 기본적으로 "Jenkinsfile"로 설정됩니다. 이는 Jenkins 파이프라인이 수행할 모든 작업에 대한 설명을 포함하는 파일 스크립트의 이름입니다. 이 파일은 기본적으로 저장소의 루트에 있어야 합니다. Jenkinsfile 생성 및 구성은 나중에 다시 설명하겠습니다. 이제 저장소와 Selenium 테스트 프로젝트를 준비하겠습니다. 지금은 "저장" 버튼을 클릭하세요.

파이프라인 - 젠킨스 파이프라인

7) 자동 테스트 스크립트는 페이지를 방문합니다. https://experitest.com/free-trial/ 이 페이지의 제목을 확인하면 "테스트 통과" 또는 "테스트 실패" 메시지가 표시됩니다. 따라서 다음을 사용합니다. 크롬드라이버 IntelliJ IDEA IDE가 필요하면 다운로드하여 설치하세요.

8) IDE에서 표준 Maven 프로젝트를 생성하고 Jenkins Selenium 인스턴스가 설치된 위치에 chromedriver.exe 파일을 저장합니다. 제 경우에는 여기를 클릭하여 코드를 확인하세요.

  [java] 패키지 com.test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Selenium { public static void main(String[] args) { System.setProperty(“webdriver.chrome.driver”,”F:\Jenkins\workspace\chromedriver.exe”); // <– 이 경로를 변경합니다 WebDriver driver = new ChromeDriver(); String baseUrl = “https://experitest.com/free-trial/”; String expectedTitle = “무료 체험판”; String actualTitle = “”; driver.get(baseUrl); actualTitle = driver.getTitle(); if (actualTitle.contentEquals(expectedTitle)){ System.out.println(“테스트 통과!”); } else { System.out.println(“테스트 실패”); } driver.close(); } } [/java]

9) 테스트가 제대로 작동하는지 확인하기 위해 로컬에서 실행해 보겠습니다. 내장 터미널(IDEA 인터페이스 오른쪽 하단에 있음)을 열고 다음 명령을 입력하세요.

자바 - 젠킨스 파이프라인

a) mvn clean install – 이 명령을 실행하면 /target 폴더가 생성되고, 그 안에 com.test-1.0-SNAPSHOT.jar 파일이 생성됩니다.

b) java -jar {로컬 프로젝트 경로}comtesttargetcom.test-1.0-SNAPSHOT.jar – 이 명령어는 테스트를 실행합니다.

스크린샷에서 결과를 확인하세요.

자바 - 젠킨스 파이프라인

10) 이제 프로젝트가 준비되었으니 테스트 저장소의 루트에 프로젝트를 넣을 수 있습니다. 같은 위치에 Jenkinsfile을 다음과 같이 생성합니다.

셀레늄 - 젠킨스 파이프라인

11) 이제 Jenkinsfile의 내용을 논의할 수 있습니다. 해당 코드는 여기에서 볼 수 있습니다..

이리:

a) node { } – 스크립트를 위한 일종의 래퍼입니다. 이 안에서 스크립트는 여러 단계로 나뉩니다.

b) 단계('SCM 체크아웃') - 저장소에서 업데이트를 수신하는 준비 단계입니다.

c) 단계('빌드') – Jenkins가 위의 콘솔에서 로컬로 수행한 것과 동일한 단계를 수행하는 주요 단계입니다.

d) dir("comtest") – 특정 폴더에서 작동합니다.

e) sh “mvn clean install” – 셸 명령을 실행합니다.

12) 이 단계에서는 Jenkins 파이프라인을 수동으로 실행하여 제대로 작동하는지 확인할 수 있습니다.

파이프라인 - 젠킨스 파이프라인

파이프라인 작업의 결과는 구체적인 텍스트 형식이나 단계별로 볼 수 있습니다.

"콘솔 출력" 옵션:

콘솔 - 젠킨스 파이프라인

"파이프라인 단계" 옵션:

단계 - 젠킨스 파이프라인

하지만 우리의 목표는 자동 테스트를 위한 Jenkins 파이프라인을 만드는 것뿐만 아니라, 파이프라인의 실행을 자동화하는 것입니다. 시작해 봅시다.

13) GitLab 통합을 위한 플러그인을 설치하세요. 이를 위해 다음 섹션으로 이동하세요: Jenkins =>Jenkins 관리 =>플러그인 관리

관리 - 젠킨스 파이프라인

그런 다음 사용 가능 탭을 선택하고 검색 필드에 "gitlab"을 입력하세요. 필요한 플러그인을 설치하고 Jenkins를 다시 시작하세요.

사용 가능 - 젠킨스 파이프라인

14) 업데이트가 완료되면 구성으로 돌아갑니다. Jenkins =>Configure System으로 이동합니다.

a) 플러그인에 Gitlab 저장소를 추가합니다.

Jenkins로 이동=>시스템 구성

gitlab - 젠킨스 파이프라인

참고: 우리의 목적을 위해서는 공개 저장소를 사용해야 하므로 자격 증명을 지정하지 않아도 됩니다.

b) 유효한 Jenkins URL이 있는지 확인하세요. Jenkins 파이프라인 인스턴스를 별도의 컴퓨터에 설치한 경우 이 단계는 건너뛰어도 됩니다. 저처럼 로컬 컴퓨터를 사용한 경우 "Jenkins URL" 필드에 localhost라는 문구가 표시됩니다.

위치 - 젠킨스 파이프라인

이 경우, 인터넷을 통해 GitLab에 접속할 수 있는 URL을 얻어야 합니다. 앞서 말씀드렸듯이, 이를 위한 간단한 방법이 있습니다. 남자.

이 도구의 간단한 지침에 따라 테스트 Jenkins가 위치한 URL을 얻으세요.

테스트 Jenkins가 위치한 URL을 가져옵니다.

이 주소를 Jenkins URL 필드에 입력하고 모든 변경 사항을 저장합니다.

이 주소를 Jenkins URL 필드에 입력하세요

15) 이제 GitLab 설정으로 이동합니다. GitLab=>프로젝트=>설정=>통합. Jenkins CI 웹훅을 구성해야 합니다. 다음 링크를 클릭하세요.

GitLab=>프로젝트=>설정=>통합

Jenkins CI와의 통합 설정은 다음과 같습니다.

Jenkins CI와의 통합 설정

16) GitLab 웹훅을 사용하도록 Jenkins 파이프라인(pipeline_selenium1)의 설정을 업데이트합니다.

GitLab 웹훅을 사용하기 위한 Jenkins 파이프라인(pipeline_selenium1)

17) 이제 끝입니다! 이제 저장소에 무언가를 푸시하고 Jenkins에서 무슨 일이 일어나는지 확인해 보겠습니다.

파이프라인 셀레늄 1 - 젠킨스 파이프라인

Jenkins 파이프라인 출시 마무리

보시다시피, 사람의 개입 없이 Selenium 자동 테스트를 실행하는 Jenkins 파이프라인을 쉽게 만들 수 있습니다. 파이프라인을 사용하면 모든 준비 작업을 자동으로 수행할 수도 있습니다. Jenkinsfile 구문에 대한 자세한 내용은 파이프라인 구문 링크(마지막 스크린샷 참조)를 참조하세요.

이 블로그에 관심이 있으시다면 방문해 주세요. Digital.ai Continuous Testing 확장 가능한 웹을 통해 완벽한 고객 경험을 제공하는 방법을 알아보려면 모바일 테스트.

당신은 또한 좋아할 거라