셀렌 프로젝트 만들기
프로젝트 준비
1 단계) Eclipse 에서 새 Java Project를 클릭하여 Java 프로젝트를 만듭니다.
단계 2) 이 단계에서,
- 프로젝트 이름 부여
- 실행 환경 선택
- 프로젝트 레이아웃 옵션 선택
- "마침(Finish)"버튼을 클릭하십시오.
완료 버튼을 클릭하면 "TestProject"자바 프로젝트가 생성됩니다. "TestProject"는 다음과 같습니다.
3) 새로 생성 된 프로젝트를 엽니 다. 패키지 탐색기에서 "src"폴더를 볼 수 있습니다.
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "새로 만들기"를 선택하십시오.
- 옵션 패키지 선택
단계 4) 이 단계에서,
- src 폴더를 탐색하고 패키지를 선택하십시오.
- 패키지 이름 및
- 마지막으로 마침 버튼을 클릭하십시오. (package Name-> com.test)
"완료(finish)"를 클릭하면 프로젝트 구조가 다음과 같이 보입니다.
단계 5) 이 단계에서,
- 이제 새로 만든 패키지를 마우스 오른쪽 버튼으로 클릭하고
- 'class'옵션을 선택하십시오.
새 창이 열립니다.
단계 6) 이 단계에서,
- "클래스"이름을 지정하십시오.
- 수정 자(modifiers) 선택
- 슈퍼 클래스 java.lang.object를 찾아 선택하십시오.
- 완료 버튼을 클릭하십시오.
여기에서는 DemoA, DemoB 등 두 개의 클래스를 만듭니다 .
첫 번째 클래스 만들기 DemoA.
"마침"버튼을 클릭합니다. 다음과 같이 클래스를 생성합니다.
마찬가지로, DemoB 클래스를 만든다. "Finish"를 클릭하면 Button 클래스가 아래처럼 보이게 될 것이다.
7 단계) TestNG 라이브러리를 설치했다면 Java Project ---> Properties를 클릭하십시오.
8 단계) 이제 속성 창에서,
- 자바 빌드 경로를 클릭하십시오.
- 라이브러리를 클릭하십시오.
- 라이브러리 추가를 클릭하십시오.
다음 것
- "TestNg"를 클릭하고
- "다음"을 클릭하십시오.
그런 다음 "완료"버튼을 클릭하십시오.
그 후에 다음 코드를 작성하십시오.
클래스 DemoA
코드 설명 :
- Driver.manage (). window (). maximize ();
이 행은 브라우저 창을 최대화합니다.
- driver.get (https://www.google.co.in);
이 행은 URL 필드에 지정된 URL을 입력합니다.
- driver.findElement (By.name ( "q")). sendKeys ( "안녕");
이 행은 "Google"검색 창을 식별하고 sendKeys 메소드를 사용하여 전송 한 데이터를 입력합니다.
출력 : 위의 프로그램에는 오류가 있기 때문에 실행할 수 없습니다.
Class DemoB와 마찬가지로,
빨간색 밑줄 쳐진 단어는 여기에있는 오류입니다. 이러한 클래스와 인터페이스가 포함 된 jar 파일을 아직 추가하지 않았기 때문입니다. 위의 코드에있는 오류를 제거하려면 해당 jar 파일을 추가하십시오. 자바 프로젝트를 오른쪽 클릭하고 "속성"을 선택하십시오.
8 단계) 속성 창에서,
- 왼쪽 탐색 분할 창에서 Java 빌드 경로를 클릭하십시오.
- 라이브러리 탭을 클릭하고,
- 외부 JAR 추가 및 Selenium-standalone jar 파일 선택을 클릭하십시오.
- "OK"버튼을 클릭하십시오.
이 단계가 끝나면 모든 오류가 자동으로 제거됩니다. 그렇지 않은 경우 오류를 표시하는 코드 위에 마우스를 놓고 필요한 모든 클래스와 인터페이스를 가져옵니다.
@test가 여전히 오류를 표시하는 경우 마우스를 그 위에 놓습니다. 가능한 옵션을 표시합니다. 그런 다음 TestNG 라이브러리 옵션 추가를 클릭하십시오. 마찬가지로 다른 '계급'도 마찬가지입니다.
DemoA, DemoB 두 클래스 모두에 코드를 작성한 후 다음 단계로 이동하십시오.
단계 9) 이 단계에서,
- 프로젝트를 마우스 오른쪽 버튼으로 클릭하고
- 옵션 폴더를 선택하여 'lib'라는 폴더를 만들고 testNG jar 파일과 selenium jar 파일 (selenium-server-standalone <version>)을 붙여 넣습니다.
(Testng 및 Selenium-server-standalone jar 파일은 웹에서 다운로드하여 시스템에 저장해야합니다. 수동으로 해당 폴더로 이동하여이 두 개의 jar 파일을 복사하고 Eclipse에서 'lib'폴더를 마우스 오른쪽 버튼으로 클릭하고 풀)
단계 10) 이 단계에서,
1. 상위 폴더 선택
2. 폴더 이름을 'lib'로 지정하고 (lib 폴더에이 두 jar 파일을 추가하는 주된 목적은 명령 프롬프트에서 실행하는 동안 컴파일러에게 프로그램 실행에 필요한 jar 파일을 알릴 수 있습니다 eclipse에서 testng.xml을 실행하려면이 lib 폴더가 필요하지 않습니다.
3. '완료'버튼을 클릭하십시오.
Testng과 Selenium-server-standalone jar 파일은 웹에서 다운로드 받아 시스템에 저장해야합니다. 당신은 수동으로 그 폴더에 가서이 두 병을 복사하고 'lib'폴더에 존재하는 이클립스에 존재하고 붙여 넣기를 클릭해야합니다
폴더를 만든 후에는 DemoA 및 DemoB 인 프로그램을 Testng.xml 파일로 변환합니다.
셀렌 프로젝트를 TestNG로 변환 및 실행
단계 1) 이 단계에서,
- 패키지 아래에있는 두 개의 Java 파일을 선택하고 마우스 오른쪽 단추로 누르십시오.
- "testNG"라는 옵션을 선택하십시오.
- "testNG"로 변환을 클릭하십시오.
2 단계) 새 창이 열립니다. 이 창에 다음과 같은 세부 정보를 입력하십시오.
- 위치
- 스위트 이름
- 테스트 이름
- 수업 선택
- 병렬 모드
- "Finish"버튼을 클릭하십시오.
그런 다음 java 프로젝트 아래에 생성 된 testng.xml 파일이 다음과 같이 보입니다.
(해당 testng.xml 파일을 실행하려면 패키지 탐색기의 왼쪽 탐색 창에있는 testng.xml 파일을 마우스 오른쪽 단추로 클릭하고 TestNG Suite로 실행을 클릭하십시오.)
3 단계) testng.xml 제품군 파일은 다음과 같습니다.
DemoA 클래스를 먼저 실행하려면 다음과 같이 DemoA 클래스를 완성하기 전에 전체 라인을 제거하고 추가하십시오.
4) testng.xml 파일 실행 후 다음과 같이 결과를 출력합니다. (System.out.println ()을 사용하여 실행 문을 작성하지 않았으므로 콘솔 창에 아무 것도 인쇄하지 않습니다.
이것은 아래의 단계를 따라야하는 명령 프롬프트에서 DemoA, DemoB와 같은 두 개의 클래스 파일을 포함하는 동일한 testng.xml 스위트 파일을 실행하려는 경우 Eclipse를 통해 테스트를 실행하는 방법 중 하나입니다.
이제 명령 프롬프트를 열고 Project 작업 영역으로 이동하십시오.
커맨드 라인을 통해 TestNG 실행
프로젝트 공간의 위치를 찾아야합니다.
1) 우선 자바 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성 옵션을 선택하십시오. 속성 창에서 옵션 리소스를 선택하십시오.
2 단계) 이제 왼쪽 네비게이션 창에있는 "리소스"링크를 클릭하십시오. 프로젝트가 저장된 위치가 정확히 표시됩니다.
프로젝트 작업 공간은 C : \ Users \ User \ Desktop \ Guru99 \ TestProject 입니다. 그래서 그 특정 위치로 디렉토리를 변경하고 있습니다.
3 단계) 다음 명령을 입력하십시오. (이 명령은 일반적인 명령입니다)
java -cp "작업 공간에있는 lib 폴더의 경로 \ *; 프로젝트 작업 공간에있는 bin 폴더의 경로, 프로젝트 작업 공간의 lib 폴더에있는 testng.jar 파일의 경로"org.testng.TestNG testng.xml
그러나 우리 프로젝트에서는 다음 명령을 작성해야합니다.
Java -cp "C : \ Users \ User \ Desktop \ Guru99 \ TestProject \ lib \ *; C : \ Users \ User \ Desktop \ Guru99 \ TestProject \ bin "org.testng.TestNG testng.xml
4 단계) 그런 다음 Enter 키를 누릅니다. DemoA 및 DemoB 클래스 모두 실행을 시작합니다. 마지막으로 명령 프롬프트에 결과가 표시됩니다.
실패한 테스트 케이스 만 실행하는 방법
Eclipse를 통해 실패한 테스트 케이스 만 실행하려면 먼저 프로젝트를 새로 고칩니다.
1) 자바 프로젝트 (Demo A와 B)를 오른쪽 클릭하십시오. 새로 고침 옵션을 선택하거나 java 프로젝트를 선택하고 F5를 누릅니다.
2 단계) 그러면 테스트 출력 폴더를 볼 수 있습니다. 이 폴더에는 testng-failed.xml이라는 이름의 파일이 있습니다.
3 단계) 이 파일을 마우스 오른쪽 버튼으로 클릭하고 실행을 클릭하고 "testNG suite"옵션을 선택하십시오.
모든 테스트 케이스가 성공적으로 실행 된 경우 세 가지 테스트 케이스가 있다고 가정하면 테스트 출력 폴더 아래에서이 폴더를 볼 수 없다는 것을 의미합니다. 이 폴더는 테스트 케이스 중 하나가 실패한 경우에만 나타납니다. 이 파일을 실행하면 실패한 테스트 케이스 만 실행합니다.
명령 행에서 testng-failed.xml 파일 실행
1 단계) 명령 프롬프트에서 실패한 테스트 케이스를 실행합니다. 명령 프롬프트를 열고 Project 작업 공간으로 이동하십시오.
내 프로젝트 작업 공간은 C : \ Users \ User \ Desktop \ Guru99 \ TestProject입니다. 그래서 그 특정 위치로 디렉토리를 변경할 것입니다.
2 단계) 다음 명령을 입력하십시오. (이 명령은 일반적인 명령입니다)
java -cp "작업 공간에있는 lib 폴더의 경로 \ *; 프로젝트 작업 공간에있는 bin 폴더의 경로, 프로젝트 작업 공간의 lib 폴더에있는 testing.jar 파일의 경로"org.testng.TestNG test-output / testng-failed. XML
우리 프로젝트에서는 다음 명령을 작성해야합니다.
Java –cp "C:\Users\User\Desktop\Guru99\TestProject\lib\*;
C:\Users\User\Desktop\Guru99\TestProject\bin" org.testng.TestNG test-output/testng-failed.xml
3 단계) 그런 다음 Enter 키를 누릅니다. 실패한 클래스 만 실행하고 표시는 해당 클래스에만 해당합니다.
위의 클래스 즉 DemoB에서이 코드를 변경하면됩니다.
driver.findElement (By.name ( "a")). sendKeys ( "Bye");
위의 코드는 요소를 찾지 않을 것입니다. 따라서 예외가 발생합니다. 그러나 우리 프로그램에서는 예외를 처리하지 않으므로 프로그램이 나머지 코드의 실행을 중단합니다. 이러한 이유 때문에 ClassB는 실패 할 것입니다.
Selenium 웹 드라이버의 보고서 생성
보고서 생성은 자동화 테스팅과 수동 테스팅을 수행 할 때 매우 중요합니다.
- 결과를보고 통과, 실패 및 건너 뛴 테스트 케이스 수를 쉽게 식별 할 수 있습니다.
- 보고서를 보면 프로젝트의 상태를 알 수 있습니다.
Selenium 웹 드라이버는 웹 응용 프로그램을 자동화하는 데 사용되지만 보고서를 생성하지는 않습니다.
- TestNG가 기본 보고서를 생성합니다.
- testng.xml 파일을 실행하고 프로젝트를 새로 고칩니다. 해당 폴더에 테스트 출력 폴더가 생깁니다.
- emailable-report.html을 마우스 오른쪽 버튼으로 클릭하고 옵션을 선택하십시오. 웹 브라우저로여십시오.
방법 -1 : emailable-report.html
- "emailable-report.html"옵션을 클릭하십시오.
- 옵션 웹 브라우저를 클릭하십시오.
testng의 결과 보고서는 두 클래스가 모두 전달 된 경우 아래와 같이 표시됩니다.
의도적으로 테스트 케이스, 즉 DemoB 클래스를 실패한 시나리오를 고려하십시오. 그런 다음 두 클래스를 모두 testing.xml 패키지 파일로 변환하고 실행하십시오. 그러면 결과는 다음과 같습니다. 실패한 테스트 케이스가 표시됩니다.
DemoB 클래스의 결과입니다.
마찬가지로 Class DemoA의 결과는 다음과 같습니다.
방법 -2 index.html
- 프로젝트 디렉토리에서 index.html을 마우스 오른쪽 버튼으로 클릭하십시오.
- 웹 브라우저 옵션으로 옵션 열기를 선택하십시오. 결과는 다음과 같은 순서로 표시됩니다.
결과는 다음과 같습니다.
방법 -3 리포터 클래스
이 보고서 생성 메소드와 함께 object.properties 파일을 사용하여 시스템 생성 로그와 사용자 생성 로그를 저장할 수 있습니다. 그러나 테스트에서 로그 정보를 저장하는 가장 간단한 방법 중 하나는 Reporter 클래스를 사용하는 것 입니다.
Reporter는 TestNG에있는 클래스입니다. 로그 정보를 저장하는 4 가지 방법을 제공합니다.
- Reporter.log(String s);
- Reporter.log(String s, Boolean logToStandardOut);
- Reporter.log(String s, int level);
- Reporter.log(String s, int level, Boolean logToStandardOut);
예 :
DemoA 및 DemoB와 같은 두 개의 클래스를 만들고 클래스 내에 다음 코드를 작성합니다.
클래스 DemoA;
- DemoA 코드는 이미 위에서 설명했습니다. 여기서 Reporter 클래스의 log 메소드를 사용하고 있습니다. (보고 클래스를 구현하기 위해 클래스는 org.testng.IReporter 인터페이스를 구현해야한다.)
- log 메소드는 Reporter 클래스의 정적 메소드입니다. 따라서 Reporter 클래스를 통해 해당 메소드에 액세스하고 있습니다.
- log 메소드는 프로그램 내에 작성된 로그 정보를 저장하는 데 사용됩니다. 로그 정보를 보면 프로그램의 실행이 중단 된 위치를 쉽게 알 수 있습니다.
클래스 DemoB의 경우 :
- 이제이 두 클래스를 선택하여 testng.xml 파일을 만들고
- 다음으로 실행 선택
- testng로 변환을 클릭하십시오.
- run as를 선택하고 testng suite를 선택하여이 testng.xml 파일을 실행하십시오.
- 그런 다음 프로젝트를 새로 고치면 테스트 출력 폴더가 열립니다.
마찬가지로 데모 B 프로젝트의 출력도 갖게됩니다.
2. 테스트 출력 폴더에서 index.html을 엽니다. 다음과 같이 표시됩니다.
기자 출력을 클릭하십시오. 테스트 메소드에 기록 된 모든 정보를 로깅합니다.
시간을 클릭하십시오. 수업 시간에 시험 방법을 실행하는 데 걸린 시간을 표시합니다.
요약 :
- TestNG는 Junit에서 영감을 얻었으며 다른 주석을 포함하는 Automation Testing Framework입니다.
- TestNG는 표준 보고서에 다음과 같은 내용을 포함하는 보고서를 생성합니다.
- 얼마나 많은 테스트 케이스가 있습니까?
- 얼마나 많은 테스트 케이스가 통과 되었습니까?
- 얼마나 많은 테스트 케이스가 실패 했습니까?
- 얼마나 많은 테스트 사례를 건너 뛰었습니까?
- 여러 테스트 사례를 쉽게 그룹화하여 테스트 클래스를 테스트 스위트 파일로 변환하여 실행할 수 있습니다.
- TestNG는 다른 타사 도구와 쉽게 통합 될 수 있습니다. 테스트 케이스에 우선 순위 지정, 호출 횟수를 사용하여 동일한 테스트 케이스 실행을 여러 번 수행하는 것과 같은 여러 가지 기능을 제공합니다.
- 여러 테스트 케이스를 실행하는 동안 테스트 케이스 중 하나라도 실패하면 해당 특정 테스트 케이스를 개별적으로 실행할 수 있습니다.
- Reporter 클래스의 정적 메서드 로그는 or.testng에 있는 로깅 정보를 저장하는 데 사용할 수 있습니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
XPath에는 Selenium WebDriver의 형제, 조상 함수가 포함 (0) | 2018.12.02 |
---|---|
Selenium WebDriver의 Alert(경고창) & Popup Window(팝업창) Handling(다루기) (1) | 2018.11.30 |
Selenium WebDriver 용 Eclipse에 TestNG를 설치하는 방법 (0) | 2018.11.26 |
Selenium WebDriver의 XPath (2) | 2018.11.25 |
Selenium Webdriver에서 Action Class를 사용하는 키보드 및 마우스 이벤트 (0) | 2018.11.23 |