자동화테스트/Selenium2018. 12. 8. 08:00

젠킨스 란 무엇입니까?

젠킨스 (Jenkins)는 허드슨 연구소 (Hudson lab)가 개발 한 선도적 인 오픈 소스 연속 통합 도구입니다. 그것은 크로스 플랫폼이며 Windows, Linux, Mac OS 및 Solaris 환경에서 사용할 수 있습니다. Jenkins는 Java로 작성되었습니다. Jenkin의 주요 용도는 SVN 체크 아웃, cron 또는 모든 응용 프로그램 상태 일 수있는 모든 작업을 모니터링하는 것입니다. 작업에서 특정 단계가 발생할 때 사전 구성된 작업을 시작합니다.

이 자습서에서는

Jenkins의 중요한 특징

  • 지원 변경 : Jenkins는 SVN과 같은 저장소에서 수행 된 모든 변경 사항 목록을 생성합니다.
  • 영구 링크 : Jenkins는 최신 빌드 또는 실패한 빌드에 대한 직접 링크를 제공하여 쉽게 통신 할 수 있습니다.
  • 설치 : Jenkins는 응용 프로그램 서버를 사용하여 배포하기 위해 직접 설치 파일 (exe) 또는 war 파일을 사용하여 설치하기 쉽습니다.
  • 이메일 통합 : Jenkins는 빌드 상태의 내용을 전자 메일로 보내도록 구성 할 수 있습니다.
  • 쉬운 구성 : Jenkins에서 다양한 작업을 구성하는 것은 쉽습니다.
  • TestNG 테스트 : Jenkins는 각 SVN 빌드 후에 Testng 에서 자동화 테스트 빌드를 실행하도록 구성 할 수 있습니다 .
  • 여러 VM : Jenkins는 여러 대의 컴퓨터에 빌드를 배포하도록 구성 할 수 있습니다.
  • 프로젝트 빌드 : Jenkins는 jar의 세부 사항, jar의 버전 및 빌드 및 jar 번호의 매핑을 문서화합니다.
  • 플러그인 : 3 번째의 파티 플러그인 기능과 추가 기능을 사용 젠킨스에서 구성 할 수 있습니다.

왜 젠킨스와 셀레늄인가?

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

왜 Maven & Jenkins인가?

Selenium WebDriver는 브라우저 자동화에 적합합니다. 그러나 테스트 프레임 워크를 테스트하고 빌드하는 데이 코드를 사용하면 성능이 떨어집니다. Maven과 Selenium의 통합은 
Apache Maven이 테스트 프로젝트의 전체 라이프 사이클을 관리 할 수 ​​있도록 지원합니다.

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

Maven을 설치하고 TestNG Selenium과 함께 사용하는 단계

이 튜토리얼에서는 자바 개발자 용 Eclipse (Juno) IDE 를 사용하여 Selenium WebDriver Project를 설정합니다. 또한 Eclipse에 m2eclipse plugin을 추가하여 빌드 프로세스를 용이하게하고 pom.xml 파일을 생성해야합니다. 
다음 단계에 따라 Eclipse에 m2eclipse 플러그인을 추가해 보겠습니다.

1 단계) Eclipse IDE에서 도움말 | Eclipse Main Menu에서 Help | Install New Software 선택

2 단계) 설치 대화 상자에서 http://download.eclipse.org/technology/m2e/releases/ URL을 입력 하십시오 . 다음 스크린 샷과 같이 작업 및 m2e 플러그인을 선택하십시오 .

Maven & Jenkins with Selenium : 전체 자습서

3 단계) Next 버튼을 클릭하여 마무리 설치. 

Maven으로 Eclipse 구성하기

m2e 플러그인이 설치되면 Maven 프로젝트를 생성해야합니다.

1 단계) Eclipse IDE에서 Eclipse 메뉴의 File | New | Other 선택

2 단계)  새로운 대화 상자에서 Maven | Maven Project를 선택 하고 Next을 클릭하십시오.

Maven & Jenkins with Selenium : 전체 자습서

3 단계)  새로운 메이븐 프로젝트 대화 상자에서 Create a simple project 선택 Next를 클릭합니다

Maven & Jenkins with Selenium : 전체 자습서

4 단계 : Group Id: 와 Artifact Id를 입력 하고 Finish를 클릭합니다.

Maven & Jenkins with Selenium : 전체 자습서

5 단계) Eclipse는 다음과 같은 구조의 WebdriverTest 를 만듭니다 .

Maven & Jenkins with Selenium : 전체 자습서

6 단계) JRE System Library를 마우스 오른쪽 단추로 클릭 하고 메뉴에서 Properties (등록 정보) 옵션을 선택 합니다.

Maven & Jenkins with Selenium : 전체 자습서

JRE 시스템 라이브러리의 속성 대화 상자에서  Workspace default JRE 선택하고 OK를 클릭합니다

Maven & Jenkins with Selenium : 전체 자습서

7 단계) . 프로젝트 탐색기 에서 pom.xml 을 선택하십시오 .

 

Maven & Jenkins with Selenium : 전체 자습서

 

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

Maven & Jenkins with Selenium : 전체 자습서

8 단계) <project> 노드의 pom.xml에 Selenium, Maven, TestNG, Junit 종속성을 추가 합니다.

	<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</version>								
            <scope>test</scope>							  			
       </dependency>				
</dependencies>

9 단계) 새로운 TestNG 클래스를 만듭니다. Name : 텍스트 상자에 패키지 이름을 "example"및 "NewTest"로 입력하고 다음 스크린 샷과 같이 Finish 버튼을 클릭하십시오 .

Maven & Jenkins with Selenium : 전체 자습서

단계 10) . Eclipse는 다음 스크린 샷과 같이 NewTest 클래스를 작성합니다.

Maven & Jenkins with Selenium : 전체 자습서

11 단계) NewTest 클래스에 다음 코드를 추가합니다 .

이 코드는 Guru99 Selenium Page의 제목을 확인합니다.

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("http://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 | Convert to TestNG 선택하십시오 . 
Eclipse는 다음 스크린 샷과 같이 NewTest 라는 이름으로 단 하나의 테스트 만 실행해야한다는 testng.xml을 작성합니다 .

Maven & Jenkins with Selenium : 전체 자습서

프로젝트를 업데이트하고 Package Explorer트리에 파일이 나타나는지 확인하십시오 (프로젝트를 마우스 오른쪽 단추로 클릭 - 새로 고침).

Maven & Jenkins with Selenium : 전체 자습서

13 단계) 이제이 testng.xml을 통해 test를 실행해야한다 .

따라서 Run Configurations 로 가서 TestNG를 새로 시작 하고 testng.xml 로 프로젝트 및 필드 Suite 를 선택한 다음 Run을 클릭하십시오.

Maven & Jenkins with Selenium : 전체 자습서

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

단계 14) . 또한, 우리는

  1. maven-compiler-plugin
  2. maven-surefire-plugin
  3. testng.xml

to pom.xml .

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

maven-compiler-plugin은 코드를 컴파일하고 컴파일을 위해 특정 JDK 버전을 사용하는 데 도움이됩니다. 다음 코드 스 니펫의 모든 종속성을 <plugin> 노드의 pom.xml에 추가합니다.

Maven & Jenkins with Selenium : 전체 자습서

15 단계) 번째 메이븐 라이프 사이클의 테스트를 실행하려면 전자 WebdriverTest을 마우스 오른쪽 버튼으로 클릭하고 Run As | Maven test 선택합니다.

Maven은 프로젝트에서 테스트를 실행합니다.

Maven & Jenkins with Selenium : 전체 자습서

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

Jenkins를 설치하고 TestNg Selenium으로 Maven을 실행하도록 구성하는 단계

설치

1 단계) http://jenkins-ci.org/로 가서 OS에 맞는 올바른 패키지를 다운로드하십시오. 젠킨스를 설치하십시오.

Maven & Jenkins with Selenium : 전체 자습서

2 단계) 지정된 폴더에 젠킨스 압축을 풉니 다. 다음 스크린 샷과 같이 exe 파일을 실행합니다.

Maven & Jenkins with Selenium : 전체 자습서

3 단계) 에서 Jenkins 1.607 Setup 창을 클릭 Next 버튼을 클릭합니다.

Maven & Jenkins with Selenium : 전체 자습서

4) Install 버튼을 클릭 합니다 .

Maven & Jenkins with Selenium : 전체 자습서

5 단계) 설치가 완료되면 브라우저 창에서 Jenkins Dashboard (기본적으로 http : // localhost : 8080)로 이동합니다.

Maven & Jenkins with Selenium : 전체 자습서

6 단계) New Item 링크를 클릭 하여 CI 작업을 만듭니다.

Maven & Jenkins with Selenium : 전체 자습서

7 단계) 다음 스크린 샷과 같이 Maven 프로젝트 라디오 버튼을 선택합니다.

Maven & Jenkins with Selenium : 전체 자습서

Jenkins는 Maven 프로젝트 빌드 옵션을 사용하여 Maven 프로젝트를 빌드 하고 테스트 할 수 있습니다.

6 단계) OK 버튼을 클릭합니다. Jenkins 대시 보드에 "WebdriverTest"라는 이름의 새 작업이 생성됩니다.

Maven & Jenkins with Selenium : 전체 자습서

7 단계) Manage Jenkins => Configure System 으로 이동 하십시오 .

Maven & Jenkins with Selenium : 전체 자습서

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

Maven & Jenkins with Selenium : 전체 자습서

8 단계) new job 의 Build 섹션으로 이동 하십시오 .

  • Root POM 텍스트 상자에서, pom.xml 파일에 대한 전체 경로를 입력
  • 목표 및 옵션(Goals and options) 섹션에서 "clean test"를 입력하십시오.

    Maven & Jenkins with Selenium : 전체 자습서

9 단계) Apply 버튼을 클릭 합니다.

Maven & Jenkins with Selenium : 전체 자습서

10 단계) WebdriverTest 프로젝트 페이지에서 Build Now 링크를 클릭하십시오 .

Maven & Jenkins with Selenium : 전체 자습서

Maven이 프로젝트를 빌드합니다. 그러면 TestNG가 테스트 케이스를 실행하게됩니다.

11 단계) 빌드 프로세스가 완료되면 Jenkins Dashboard에서 WebdriverTest 프로젝트를 클릭하십시오.

Maven & Jenkins with Selenium : 전체 자습서

12 단계) WebdriverTest 프로젝트 페이지는 다음 스크린 샷과 같이 빌드 기록과 결과 링크를 표시합니다.

Maven & Jenkins with Selenium : 전체 자습서

13 단계) "Latest Test Result"링크를 클릭하면 다음 스크린 샷과 같이 테스트 결과가 표시됩니다.

Maven & Jenkins with Selenium : 전체 자습서

단계 14) . 특정 빌드를 선택하면 " console output " 을 클릭하여 현재 상태를 볼 수 있습니다 .

Maven & Jenkins with Selenium : 전체 자습서

Jenkins가 자동 실행되도록 예약합니다.

빌드 스케줄링 (Selenium Tests)은 Jenkins가 정의 된 기준에 따라 빌드를 자동으로 트리거하는 중요한 기능 중 하나입니다. Jenkins는 Build Trigger 구성에서 빌드 프로세스를 트리거하는 여러 가지 방법을 제공합니다.

예 : 
다음 스크린 샷과 같이 Schedule 텍스트 상자에 0 23 * * *을 입력하십시오. 이것은 오후 11시에 매일 빌드 프로세스를 트리거합니다.

Maven & Jenkins with Selenium : 전체 자습서

Maven없이 Jenkings 사용하기

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

D :> java -cp "Pathtolibfolder \ lib \ *; Pathtobinfolder \ bin"org.testng.TestNG testng.xml

Maven & Jenkins with Selenium : 전체 자습서

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

Maven & Jenkins with Selenium : 전체 자습서

젠킨스 사용의 이점

  1. 초기 문제 발견 - 버그는 소프트웨어 개발의 초기 단계에서 발견 될 수 있습니다.
  2. 자동 통합 - 모든 변경 사항을 통합하기 위해 별도의 노력이 필요 없음
  3. 설치 프로그램 - 개발의 어느 시점에서나 사용할 수있는 배치 가능한 시스템
  4. 기록 - 일부 빌드 기록 유지
  5. 지원 및 플러그인 : Jenkin의 인기가 높은 이유 중 하나는 대규모 지역 사회 지원이 가능하다는 것입니다. 또한 기능을 확장하는 데 도움이되는 많은 기성 플러그인을 사용할 수 있습니다.


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터