Selenium Maven과의 통합 및 Jenkins

⚡ 스마트 요약

메이븐 Jenkins Selenium 통합을 통해 Maven이 프로젝트 종속성과 수명 주기를 관리하는 자동화된 지속적 테스트 파이프라인이 생성됩니다. Jenkins 빌드 일정 및 트리거, Selenium 브라우저 테스트를 실행하여 반복 가능하고 신뢰할 수 있으며 확장 가능한 엔드투엔드 웹 자동화를 구현합니다.

  • 📦 메이븐 역할: Maven 3.x는 pom.xml을 통해 종속성, 빌드 라이프사이클 및 플러그인을 관리하므로 수동 JAR 파일 처리가 필요 없습니다. Selenium 프로젝트.
  • 🔁 Jenkins 역할: Jenkins LTS 일정 Selenium 이 도구는 SCM 변경 사항을 모니터링하고 모든 커밋 또는 야간 cron 작업 시 자동화된 회귀 테스트를 실행합니다.
  • 🚀 파이프라인 에너지: Maven을 결합하면, Jenkins, Selenium예산 및 TestNG 코드 변경 후 몇 분 안에 결함을 잡아내는 완벽한 CI/CD 루프를 구축합니다.
  • 보고 : 슈어파이어 보고서 플러스 Jenkins 빌드 히스토리 제공 trac콘솔 출력 및 HTML 대시보드를 통해 쉽고 공유 가능한 테스트 결과를 제공합니다.
  • 🧪 AI 향상: 최신 AI 플러그인은 영향을 받는 테스트의 우선순위를 정하고, 불안정한 사례를 예측하며, 테스트 규모를 축소합니다. Jenkins 내부 피드백 사이클 Selenium 파이프라인.

메이븐 & Jenkins 와 통합 Selenium

Jenkins in Selenium?

Jenkins 는 허드슨 연구소에서 개발한 대표적인 오픈 소스 지속적 통합 도구입니다. 크로스 플랫폼을 지원하며 다음에서 실행됩니다. Windows, 리눅스, macOS예산 및 Solaris 환경. Jenkins 에 쓰여있다 Java 그리고 현재 다음과 같이 배포됩니다. Jenkins 안정적인 운영 환경을 위한 LTS 버전입니다. 주요 용도는 SCM 체크아웃, cron 스케줄링 또는 애플리케이션 상태 모니터링 등 모든 작업을 모니터링하는 것입니다. Jenkins 작업에서 특정 단계가 발생할 때 미리 구성된 작업을 실행합니다.

중요한 기능 Jenkins

  • 변경 지원: Jenkins Git이나 SVN과 같은 저장소에서 발생한 모든 변경 사항 목록을 생성합니다.
  • 영구 링크: Jenkins 최신 빌드 또는 마지막으로 실패한 빌드에 대한 직접 링크를 제공하여 팀 간 의사소통을 간소화합니다.
  • 설치: Jenkins 네이티브 설치 프로그램, 애플리케이션 서버에 배포된 WAR 파일 또는 Docker 이미지를 사용하여 쉽게 설치할 수 있습니다.
  • 이메일 통합: Jenkins 모든 빌드의 내용과 상태를 이메일로 전송하도록 설정할 수 있습니다.
  • 쉬운 구성: 다양한 작업을 구성합니다 Jenkins 웹 대시보드를 통해 간단하게 이용할 수 있습니다.
  • TestNG 테스트 : Jenkins 자동화 테스트 빌드를 실행하도록 구성할 수 있습니다. TestNG 저장소에 커밋할 때마다.
  • 여러 VM: Jenkins 여러 에이전트 머신에 빌드를 배포할 수 있습니다.
  • 프로젝트 빌드: Jenkins 이 문서에는 JAR 파일, JAR 버전 및 맵에 대한 세부 정보가 포함되어 있습니다.ping 빌드 번호를 아티팩트로 변환합니다.
  • 플러그인 : 3rd 파티 플러그인을 추가할 수 있습니다. Jenkins 기능 및 추가 기능을 확장하기 위해.

Jenkins Selenium?

  • 달리는 Selenium 테스트 Jenkins 이 기능을 사용하면 소프트웨어가 변경될 때마다 테스트를 실행하고 테스트가 통과되면 소프트웨어를 새로운 환경에 배포할 수 있습니다.
  • Jenkins 일정을 예약할 수 있습니다 Selenium 특정 시간에 실행할 테스트.
  • 실행 기록과 테스트 보고서를 저장할 수 있습니다. trac능력.
  • Jenkins 빌드를 위해 Maven을 지원합니다. 지원 지속적인 통합 프로젝트.

메이븐이란 무엇인가? Selenium?

Maven은 POM(Project Object Model) 개념을 기반으로 하는 강력한 프로젝트 및 빌드 관리 도구입니다. POM에는 빌드 디렉터리, 소스 디렉터리, 종속성, 테스트 소스 디렉터리, 목표, 플러그인 등과 같은 Maven에 필요한 프로젝트 정보와 구성 데이터가 포함됩니다. Maven 3.x는 현재 안정적인 버전으로, 전 세계적으로 널리 사용되고 있습니다. Selenium 테스트 프레임워크.

Maven을 사용하는 이유는 무엇일까요? Jenkins

Selenium WebDriver는 브라우저 자동화에 매우 유용합니다. 하지만 테스트 및 테스트 프레임워크 구축에 사용할 때는 성능이 다소 부족하게 느껴질 수 있습니다. Maven을 WebDriver와 통합하면 이러한 문제를 해결할 수 있습니다. Selenium 다음과 같은 이점을 제공합니다.
Apache Maven 테스트 프로젝트의 전체 라이프사이클을 관리하기 위한 지원을 제공합니다.

  • Maven은 프로젝트 구조, 종속성, 빌드 및 테스트 관리를 정의하는 데 사용됩니다.
  • pom.xml(Maven) 파일을 사용하면 코드 빌드, 테스트 및 실행에 필요한 종속성을 구성할 수 있습니다.
  • Maven은 프로젝트를 빌드하는 동안 중앙 저장소에서 필요한 파일을 자동으로 다운로드합니다.

Maven을 설치하고 사용하는 방법 TestNG Selenium

다음은 Maven을 설치하고 사용하는 단계입니다. TestNG Selenium.

이 튜토리얼에서는 다음을 사용합니다. Eclipse (Juno) IDE용 Java 개발자가 설정해야 합니다 Selenium WebDriver 프로젝트입니다. 추가적으로 m2eclipse 플러그인을 추가해야 합니다. Eclipse 빌드 프로세스를 간소화하고 pom.xml 파일을 생성하기 위해서입니다.
m2eclipse 플러그인을 추가해 보겠습니다. Eclipse 다음 단계로 :

단계 1) In Eclipse IDE, 선택 도움말 센터 | 새 소프트웨어 설치 인사말 Eclipse 메인 메뉴.

단계 2) 설치 대화 상자에서 다음을 입력하십시오. URL https://www.eclipse.org/m2e/. 선택 작업 그리고 다음 스크린샷에 표시된 것처럼 m2e 플러그인이 있습니다.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 3) 온 클릭 다음 버튼을 누르고 설치를 완료하세요.

구성 Eclipse 메이븐과 함께

m2e 플러그인을 설치했으므로 이제 Maven 프로젝트를 생성해야 합니다.

단계 1) In Eclipse IDE에서 다음을 선택하여 새 프로젝트를 만듭니다. 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 | 새 소식 | 기타 인사말 Eclipse 메뉴를 선택합니다.

단계 2)새 소식 대화 상자에서 선택하십시오. 메이븐 | 메이븐 프로젝트 다음을 클릭하십시오.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 3)새로운 메이븐 프로젝트 대화 상자 선택 간단한 프로젝트 만들기 다음을 클릭하십시오.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 4) WebdriverTest를 입력하세요. 그룹 ID: 그리고 아티팩트 ID그리고 완료를 클릭하세요.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 5) Eclipse 만들 것입니다. 웹드라이버테스트 다음 구조로:

Maven을 설치하고 함께 사용하십시오. TestNG Seleniuml

단계 6) 마우스 오른쪽 버튼으로 클릭 JRE 시스템 라이브러리 선택하고 등록 옵션을 선택하십시오.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

JRE 시스템 라이브러리의 속성 대화 상자에서 확인하세요 작업공간 기본 JRE 선택한 후 확인을 클릭하세요.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 7) 선택 pom.xml프로젝트 탐색기.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

pom.xml 파일이 편집기 섹션에서 열립니다.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 8) 추가 Selenium, 메이븐, TestNG예산 및 JUnit pom.xml에 대한 종속성 마디:

	<dependencies>			
        <dependency>				
             <groupId>junit</groupId>								
             <artifactId>junit</artifactId>								
             <version>3.8.1</version>								
             <scope>test</scope>								
        </dependency>				
        <dependency>				
            <groupId>org.seleniumhq.selenium</groupId>								
            <artifactId>selenium-java</artifactId>								
            <version>2.45.0</version>								
		</dependency>				
        <dependency>				
            <groupId>org.testng</groupId>								
            <artifactId>testng</artifactId>								
            <version>6.8.8</version>								
            <scope>test</scope>							  			
       </dependency>				
</dependencies>

단계 9) 새 항목 만들기 TestNG 클래스. 패키지 이름은 "example"로, "NewTest"로 입력하세요. 이름: 텍스트 상자를 클릭하고 마감재 다음 스크린샷에 표시된 것과 같이 버튼을 클릭하세요.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 10) Eclipse 다음 스크린샷에 표시된 것처럼 NewTest 클래스를 생성합니다.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 11) 다음 코드를 추가하세요. 새로운 테스트 클래스. 이 코드는 클래스의 제목을 확인합니다. Guru99 Selenium 페이지를 확인하시기 바랍니다.

package example;		

import org.openqa.selenium.By;		
import org.openqa.selenium.WebDriver;		
import org.openqa.selenium.firefox.FirefoxDriver;		
import org.testng.Assert;		
import org.testng.annotations.Test;	
import org.testng.annotations.BeforeTest;	
import org.testng.annotations.AfterTest;		
public class NewTest {		
	    private WebDriver driver;		
		@Test				
		public void testEasy() {	
			driver.get("https://demo.guru99.com/test/guru99home/");  
			String title = driver.getTitle();				 
			Assert.assertTrue(title.contains("Demo Guru99 Page")); 		
		}	
		@BeforeTest
		public void beforeTest() {	
		    driver = new FirefoxDriver();  
		}		
		@AfterTest
		public void afterTest() {
			driver.quit();			
		}		
}	

단계 12) WebdriverTest 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 선택하세요. TestNG | 로 변환하다 TestNG.
Eclipse 그러면 testng.xml 파일이 생성되는데, 이 파일에는 이름이 지정된 테스트 하나만 실행해야 한다고 명시되어 있습니다. 새로운 테스트 다음 스크린샷에 표시된 대로:

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

프로젝트를 업데이트하고 파일이 트리 구조에 나타나는지 확인하세요. 패키지 탐색기 (프로젝트를 마우스 오른쪽 버튼으로 클릭 – 새로 고침).

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 13) 이제 이 과정을 통해 테스트를 실행해야 합니다. 테스트ng.xml.

그래서 구성 실행 새로운 출시를 생성하세요 TestNG프로젝트를 선택하고 필드를 설정하세요. 스위트 as 테스트ng.xml그리고 실행을 클릭하세요.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

빌드가 성공적으로 완료되었는지 확인하십시오.

단계 14) 또한, 우리는 다음을 추가해야 합니다.

  1. 메이븐 컴파일러 플러그인
  2. maven-surefire-플러그인
  3. 테스트ng.xml

pom.xml에 추가합니다.

maven-surefire-plugin은 테스트를 구성하고 실행하는 데 사용됩니다. 여기서는 플러그인을 사용하여 testing.xml 파일을 구성합니다. TestNG 테스트 보고서를 테스트하고 생성합니다.

maven-compiler-plugin은 코드 컴파일을 돕고 특정 JDK 버전을 사용하여 컴파일하도록 합니다. 다음 코드 스니펫에 있는 모든 종속성을 pom.xml 파일에 추가하세요. 마디:

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

단계 15) Maven 라이프사이클에서 테스트를 실행하려면 WebdriverTest 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 선택하세요. 다음으로 실행 | 메이븐 테스트Maven은 프로젝트에서 테스트를 실행합니다.

Maven을 설치하고 함께 사용하십시오. TestNG Selenium

빌드가 성공적으로 완료되었는지 확인하십시오.

통합하는 방법 Jenkins 과 Selenium 웹드라이버

설치 단계는 다음과 같습니다. Jenkins LTS를 구성하고 Maven을 실행하도록 설정합니다. TestNG Selenium.

설치

단계 1) We Buy Orders 신청서를 클릭하세요. https://www.jenkins.io/download/ 그리고 올바른 파일을 다운로드하세요 Jenkins 사용 중인 운영체제용 LTS 패키지를 설치하세요. Jenkins.

통합 Jenkins 와 Selenium 웹드라이버

단계 2) 압축 해제 Jenkins 지정된 폴더로 이동합니다. 다음 스크린샷과 같이 exe 파일을 실행합니다.

통합 Jenkins 와 Selenium 웹드라이버

단계 3) . Jenkins 설정 창에서 다음 버튼을 클릭합니다.

통합 Jenkins 와 Selenium 웹드라이버

단계 4) 온 클릭 설치 마지막에 버튼.

통합 Jenkins 와 Selenium 웹드라이버

단계 5) 설치가 완료되면 다음 경로로 이동하세요. Jenkins 브라우저 창의 대시보드(기본값: http://localhost:8080).

통합 Jenkins 와 Selenium 웹드라이버

단계 6) 온 클릭 새 항목 CI 작업을 생성하려면 링크를 클릭하세요.

통합 Jenkins 와 Selenium 웹드라이버

단계 7) 다음 스크린샷에 표시된 대로 Maven 프로젝트 라디오 버튼을 선택하세요.

통합 Jenkins 와 Selenium 웹드라이버

빌드 사용하기 메이븐 프로젝트 선택권, Jenkins Maven 프로젝트 빌드 및 테스트를 지원합니다.

단계 8) 확인 버튼을 클릭하세요. "WebdriverTest"라는 이름의 새 작업이 생성됩니다. Jenkins 계기반.

통합 Jenkins 와 Selenium 웹드라이버

단계 9) We Buy Orders 신청서를 클릭하세요. 관리 Jenkins => 시스템 구성 다음 스크린 샷에 표시된대로.

통합 Jenkins 와 Selenium 웹드라이버

JDK 설치를 클릭하고 다음 스크린샷과 같이 JDK를 구성하세요.

통합 Jenkins 와 Selenium 웹 드라이브

단계 10) 로 이동 구축 새 직무의 한 부분입니다.

  • . 루트 POM 텍스트 상자에 pom.xml의 전체 경로를 입력하세요.
  • 목표 및 옵션 섹션에 "클린 테스트"를 입력하세요.

통합 Jenkins 와 Selenium 웹드라이버

단계 11) 온 클릭 신청 버튼을 클릭합니다.

통합 Jenkins 와 Selenium 웹드라이버

단계 12) WebdriverTest 프로젝트 페이지에서 지금 구축 링크를 클릭하십시오.

통합 Jenkins 와 Selenium 웹드라이버

Maven이 프로젝트를 빌드합니다. 그러면 그것은 TestNG 테스트 케이스를 실행합니다.

단계 13) 빌드 프로세스가 완료되면, Jenkins 대시보드를 클릭하세요 웹드라이버테스트 프로젝트.

통합 Jenkins 와 Selenium 웹드라이버

단계 14) WebdriverTest 프로젝트 페이지에는 다음 스크린샷에 표시된 대로 빌드 기록과 결과에 대한 링크가 표시됩니다.

통합 Jenkins 와 Selenium 웹드라이버

단계 15) 다음 스크린샷에 표시된 대로 테스트 결과를 보려면 "최신 테스트 결과" 링크를 클릭하세요.

통합 Jenkins 와 Selenium 웹드라이버

단계 16) 특정 빌드를 선택하고 "를 클릭하면 현재 상태를 확인할 수 있습니다."콘솔 출력".

통합 Jenkins 와 Selenium 웹드라이버

예약 Jenkins 자동 실행용

일정 빌드(Selenium 테스트는 중요한 특징 중 하나입니다. Jenkins정의된 기준에 따라 빌드가 자동으로 트리거되는 기능입니다. Jenkins 빌드 트리거 구성에서 빌드 프로세스를 시작하는 여러 가지 방법을 제공합니다.

예 :
다음 스크린샷에 표시된 대로 일정 텍스트 상자에 0 23 * * *를 입력합니다. 이렇게 하면 매일 오후 11시에 빌드 프로세스가 트리거됩니다.

Jenkins 자동 실행용

사용 Jenkins 메이븐 없이

순수한 것을 실행하려면 TestNG 스크립트 Jenkins빌드에 다음을 입력하십시오.

D:>java -cp “libfolder\lib\* 경로;binfolder\bin 경로” org.testng.TestNG 테스트ng.xml

Jenkins 자동 실행용

  • 저장 버튼을 클릭하십시오.
  • 참고: 위 명령어에 lib 및 bin 폴더의 실제 경로를 추가해야 합니다.
  • 명령어를 저장한 후, Jenkins 미리 정의된 시간에 프로젝트를 빌드하며, 이 명령은 다음을 사용하여 실행됩니다. TestNG.
  • 결과는 사용자 지정 HTML 보고서 파일에 저장되며, 이 파일은 이메일을 통해 전송할 수 있습니다. Jenkins 구성.
  • 코드 실행 결과는 다음과 같습니다.

Jenkins 자동 실행용

사용의 이점 Jenkins

  1. 초기 문제 발견 – 버그는 소프트웨어 개발 초기 단계에서 발견될 수 있습니다.
  2. 자동 통합 – 모든 변경 사항을 통합하기 위해 별도의 작업이 필요하지 않습니다.
  3. 설치 프로그램 – 개발 과정 중 어느 시점에서든 사용 가능한 배포 시스템입니다.
  4. 기록 – 이전 빌드 기록이 보관됩니다.
  5. 지원 및 플러그인 - 그 이유 중 하나 Jenkins이 제품의 인기 비결은 방대한 커뮤니티 지원에 있습니다. 또한, 기능을 확장하는 데 도움이 되는 다양한 플러그인도 이미 많이 나와 있습니다.

자주 묻는 질문

Maven은 종속성과 빌드 라이프사이클을 관리합니다. Selenium 브라우저를 구동하고, Jenkins 실행을 조율합니다. 이들은 함께 코드 컴파일, 필요한 JAR 파일 다운로드, 실행 등을 포함하는 완전한 CI 파이프라인을 구성합니다. Selenium 테스트를 수행하고 모든 커밋에 대해 자동으로 보고서를 게시합니다.

종속성 및 빌드 관리에는 Maven 3.x를 사용하십시오. Jenkins 안정적인 지속적 통합을 위한 LTS 버전입니다. 이 버전은 장기적인 지원, 보안 패치 및 광범위한 플러그인 호환성을 제공합니다. Selenium 웹드라이버, TestNG그리고 Surefire 보고 플러그인.

예. Jenkins 빌드 트리거 섹션에서 cron 스타일 구문을 사용하여 일정을 예약합니다. Selenium 스위트룸. 예를 들어, 0 23 * * *는 매일 밤 11시에 스위트룸을 운영합니다. Jenkins SCM 폴링이나 웹훅 이벤트를 통해 빌드를 트리거할 수도 있습니다.

AI 기반 Jenkins 플러그인은 불안정한 테스트를 예측하고, 빌드 에이전트를 자동 조정하며, 콘솔 로그에서 이상 징후를 감지합니다. 또한 파이프라인의 노이즈를 줄이고, 피드백 속도를 높이며, 최적의 병렬화를 제안하여 효율성을 유지합니다. Selenium 테스트 횟수가 수천 건으로 늘어나도 테스트 제품군의 신뢰성은 유지됩니다.

예. AI 기반 테스트 영향 분석은 코드 변경 사항을 영향을 받는 코드에 매핑합니다. Selenium 시나리오를 실행하고 관련 하위 집합만 실행합니다. Jenkins이렇게 하면 피드백 주기가 단축되고 인프라 비용이 절감되며, 매일 밤 빌드에 전체 회귀 테스트를 포함시켜 완벽한 테스트 범위를 유지할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.