젠킨스 란 무엇입니까?
젠킨스 (Jenkins)는 허드슨 연구소 (Hudson lab)가 개발 한 선도적 인 오픈 소스 연속 통합 도구입니다. 그것은 크로스 플랫폼이며 Windows, Linux, Mac OS 및 Solaris 환경에서 사용할 수 있습니다. Jenkins는 Java로 작성되었습니다. Jenkin의 주요 용도는 SVN 체크 아웃, cron 또는 모든 응용 프로그램 상태 일 수있는 모든 작업을 모니터링하는 것입니다. 작업에서 특정 단계가 발생할 때 사전 구성된 작업을 시작합니다.
이 자습서에서는
- Jenkins의 중요한 특징
- 왜 젠킨스와 셀레늄인가?
- Maven을 설치하고 TestNG Selenium과 함께 사용하는 단계
- Jenkins를 설치하고 TestNg Selenium으로 Maven을 실행하도록 구성하는 단계
- Jenkins가 자동 실행되도록 예약합니다.
- Jenkins와 TestNg
- 젠킨스의 장점
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 플러그인을 선택하십시오 .
3 단계) Next 버튼을 클릭하여 마무리 설치.
Maven으로 Eclipse 구성하기
m2e 플러그인이 설치되면 Maven 프로젝트를 생성해야합니다.
1 단계) Eclipse IDE에서 Eclipse 메뉴의 File | New | Other 선택
2 단계) 새로운 대화 상자에서 Maven | Maven Project를 선택 하고 Next을 클릭하십시오.
3 단계) 새로운 메이븐 프로젝트 대화 상자에서 Create a simple project 선택 Next를 클릭합니다
4 단계 : Group Id: 와 Artifact Id를 입력 하고 Finish를 클릭합니다.
5 단계) Eclipse는 다음과 같은 구조의 WebdriverTest 를 만듭니다 .
6 단계) JRE System Library를 마우스 오른쪽 단추로 클릭 하고 메뉴에서 Properties (등록 정보) 옵션을 선택 합니다.
JRE 시스템 라이브러리의 속성 대화 상자에서 Workspace default JRE을 선택하고 OK를 클릭합니다
7 단계) . 프로젝트 탐색기 에서 pom.xml 을 선택하십시오 .
pom.xml 파일이 편집기 섹션에서 열립니다.
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 버튼을 클릭하십시오 .
단계 10) . Eclipse는 다음 스크린 샷과 같이 NewTest 클래스를 작성합니다.
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을 작성합니다 .
프로젝트를 업데이트하고 Package Explorer트리에 파일이 나타나는지 확인하십시오 (프로젝트를 마우스 오른쪽 단추로 클릭 - 새로 고침).
13 단계) 이제이 testng.xml을 통해 test를 실행해야한다 .
따라서 Run Configurations 로 가서 TestNG를 새로 시작 하고 testng.xml 로 프로젝트 및 필드 Suite 를 선택한 다음 Run을 클릭하십시오.
빌드가 성공적으로 완료되었는지 확인하십시오.
단계 14) . 또한, 우리는
- maven-compiler-plugin
- maven-surefire-plugin
- testng.xml
to pom.xml .
maven-surefire-plugin은 테스트를 구성하고 실행하는 데 사용됩니다. 여기 플러그인은 TestNG 테스트를위한 testing.xml을 구성하고 테스트 보고서를 생성하는 데 사용됩니다.
maven-compiler-plugin은 코드를 컴파일하고 컴파일을 위해 특정 JDK 버전을 사용하는 데 도움이됩니다. 다음 코드 스 니펫의 모든 종속성을 <plugin> 노드의 pom.xml에 추가합니다.
15 단계) 번째 메이븐 라이프 사이클의 테스트를 실행하려면 전자 WebdriverTest을 마우스 오른쪽 버튼으로 클릭하고 Run As | Maven test 선택합니다.
Maven은 프로젝트에서 테스트를 실행합니다.
빌드가 성공적으로 완료되었는지 확인하십시오.
Jenkins를 설치하고 TestNg Selenium으로 Maven을 실행하도록 구성하는 단계
설치
1 단계) http://jenkins-ci.org/로 가서 OS에 맞는 올바른 패키지를 다운로드하십시오. 젠킨스를 설치하십시오.
2 단계) 지정된 폴더에 젠킨스 압축을 풉니 다. 다음 스크린 샷과 같이 exe 파일을 실행합니다.
3 단계) 에서 Jenkins 1.607 Setup 창을 클릭 Next 버튼을 클릭합니다.
4) Install 버튼을 클릭 합니다 .
5 단계) 설치가 완료되면 브라우저 창에서 Jenkins Dashboard (기본적으로 http : // localhost : 8080)로 이동합니다.
6 단계) New Item 링크를 클릭 하여 CI 작업을 만듭니다.
7 단계) 다음 스크린 샷과 같이 Maven 프로젝트 라디오 버튼을 선택합니다.
Jenkins는 Maven 프로젝트 빌드 옵션을 사용하여 Maven 프로젝트를 빌드 하고 테스트 할 수 있습니다.
6 단계) OK 버튼을 클릭합니다. Jenkins 대시 보드에 "WebdriverTest"라는 이름의 새 작업이 생성됩니다.
7 단계) Manage Jenkins => Configure System 으로 이동 하십시오 .
JDK 설치를 클릭하고 다음 스크린 샷과 같이 JDK를 구성하십시오.
8 단계) new job 의 Build 섹션으로 이동 하십시오 .
9 단계) Apply 버튼을 클릭 합니다.
10 단계) WebdriverTest 프로젝트 페이지에서 Build Now 링크를 클릭하십시오 .
Maven이 프로젝트를 빌드합니다. 그러면 TestNG가 테스트 케이스를 실행하게됩니다.
11 단계) 빌드 프로세스가 완료되면 Jenkins Dashboard에서 WebdriverTest 프로젝트를 클릭하십시오.
12 단계) WebdriverTest 프로젝트 페이지는 다음 스크린 샷과 같이 빌드 기록과 결과 링크를 표시합니다.
13 단계) "Latest Test Result"링크를 클릭하면 다음 스크린 샷과 같이 테스트 결과가 표시됩니다.
단계 14) . 특정 빌드를 선택하면 " console output " 을 클릭하여 현재 상태를 볼 수 있습니다 .
Jenkins가 자동 실행되도록 예약합니다.
빌드 스케줄링 (Selenium Tests)은 Jenkins가 정의 된 기준에 따라 빌드를 자동으로 트리거하는 중요한 기능 중 하나입니다. Jenkins는 Build Trigger 구성에서 빌드 프로세스를 트리거하는 여러 가지 방법을 제공합니다.
예 :
다음 스크린 샷과 같이 Schedule 텍스트 상자에 0 23 * * *을 입력하십시오. 이것은 오후 11시에 매일 빌드 프로세스를 트리거합니다.
Maven없이 Jenkings 사용하기
Jenkins에서 순수한 TestNg 스크립트를 실행하려면 빌드에 다음을 입력하십시오.
D :> java -cp "Pathtolibfolder \ lib \ *; Pathtobinfolder \ bin"org.testng.TestNG testng.xml
- Save 버튼을 클릭하십시오.
- 참고 : lib 및 bin 폴더의 실제 경로는 위의 명령에 추가해야합니다.
- 명령을 저장 한 후 Jenkins는 미리 정의 된 시간에 프로젝트를 빌드하고이 명령은 TestNG를 사용하여 실행됩니다.
- 결과는 Jenkin 구성으로 이메일을 통해 전송할 수있는 맞춤 보고서 HTML 파일에 저장됩니다.
- 코드의 출력은 다음과 같습니다.
젠킨스 사용의 이점
- 초기 문제 발견 - 버그는 소프트웨어 개발의 초기 단계에서 발견 될 수 있습니다.
- 자동 통합 - 모든 변경 사항을 통합하기 위해 별도의 노력이 필요 없음
- 설치 프로그램 - 개발의 어느 시점에서나 사용할 수있는 배치 가능한 시스템
- 기록 - 일부 빌드 기록 유지
- 지원 및 플러그인 : Jenkin의 인기가 높은 이유 중 하나는 대규모 지역 사회 지원이 가능하다는 것입니다. 또한 기능을 확장하는 데 도움이되는 많은 기성 플러그인을 사용할 수 있습니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
Selenium Webdriver에서 iFrame 처리하기 (0) | 2018.12.10 |
---|---|
Selenium Framework : 키워드 기반 및 하이브리드 (0) | 2018.12.09 |
Selenium Grid Tutorial : 명령 행 및 JSON 예제 (0) | 2018.12.07 |
Selenium의 Page Object Model (POM) 및 페이지 팩토리 : 전체 자습서 (0) | 2018.12.06 |
Selenium Webdriver의 Excel 파일에서 데이터 읽기 및 쓰기 : POI 및 JXL (0) | 2018.12.05 |