자동화테스트/Selenium2018. 11. 28. 08:00

셀렌 프로젝트 만들기

프로젝트 준비

1 단계) Eclipse 에서 새 Java Project를 클릭하여 Java 프로젝트를 만듭니다.

단계 2) 이 단계에서,

  1. 프로젝트 이름 부여
  2. 실행 환경 선택
  3. 프로젝트 레이아웃 옵션 선택
  4. "마침(Finish)"버튼을 클릭하십시오.

완료 버튼을 클릭하면 "TestProject"자바 프로젝트가 생성됩니다. "TestProject"는 다음과 같습니다.

3) 새로 생성 된 프로젝트를 엽니 다. 패키지 탐색기에서 "src"폴더를 볼 수 있습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "새로 만들기"를 선택하십시오.
  2. 옵션 패키지 선택

단계 4) 이 단계에서,

  1. src 폴더를 탐색하고 패키지를 선택하십시오.
  2. 패키지 이름 및
  3. 마지막으로 마침 버튼을 클릭하십시오. (package Name-> com.test)

"완료(finish)"를 클릭하면 프로젝트 구조가 다음과 같이 보입니다.

단계 5) 이 단계에서,

  1. 이제 새로 만든 패키지를 마우스 오른쪽 버튼으로 클릭하고
  2. 'class'옵션을 선택하십시오.

새 창이 열립니다.

단계 6) 이 단계에서,

  1. "클래스"이름을 지정하십시오.
  2. 수정 자(modifiers) 선택
  3. 슈퍼 클래스 java.lang.object를 찾아 선택하십시오.
  4. 완료 버튼을 클릭하십시오.

여기에서는 DemoA, DemoB 등 두 개의 클래스를 만듭니다 .

첫 번째 클래스 만들기 DemoA.

"마침"버튼을 클릭합니다. 다음과 같이 클래스를 생성합니다.

마찬가지로, DemoB 클래스를 만든다. "Finish"를 클릭하면 Button 클래스가 아래처럼 보이게 될 것이다.

7 단계) TestNG 라이브러리를 설치했다면 Java Project ---> Properties를 클릭하십시오.

8 단계) 이제 속성 창에서,

  1. 자바 빌드 경로를 클릭하십시오.
  2. 라이브러리를 클릭하십시오.
  3. 라이브러리 추가를 클릭하십시오.

다음 것

  1. "TestNg"를 클릭하고
  2. "다음"을 클릭하십시오.

그런 다음 "완료"버튼을 클릭하십시오.

그 후에 다음 코드를 작성하십시오.

클래스 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 단계) 속성 창에서,

  1. 왼쪽 탐색 분할 창에서 Java 빌드 경로를 클릭하십시오.
  2. 라이브러리 탭을 클릭하고,
  3. 외부 JAR 추가 및 Selenium-standalone jar 파일 선택을 클릭하십시오.
  4. "OK"버튼을 클릭하십시오.

이 단계가 끝나면 모든 오류가 자동으로 제거됩니다. 그렇지 않은 경우 오류를 표시하는 코드 위에 마우스를 놓고 필요한 모든 클래스와 인터페이스를 가져옵니다.

@test가 여전히 오류를 표시하는 경우 마우스를 그 위에 놓습니다. 가능한 옵션을 표시합니다. 그런 다음 TestNG 라이브러리 옵션 추가를 클릭하십시오. 마찬가지로 다른 '계급'도 마찬가지입니다.

DemoA, DemoB 두 클래스 모두에 코드를 작성한 후 다음 단계로 이동하십시오.

단계 9) 이 단계에서,

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고
  2. 옵션 폴더를 선택하여 '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) 이 단계에서,

  1. 패키지 아래에있는 두 개의 Java 파일을 선택하고 마우스 오른쪽 단추로 누르십시오.
  2. "testNG"라는 옵션을 선택하십시오.
  3. "testNG"로 변환을 클릭하십시오.

2 단계) 새 창이 열립니다. 이 창에 다음과 같은 세부 정보를 입력하십시오.

  1. 위치
  2. 스위트 이름
  3. 테스트 이름
  4. 수업 선택
  5. 병렬 모드
  6. "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

  1. "emailable-report.html"옵션을 클릭하십시오.
  2. 옵션 웹 브라우저를 클릭하십시오.

testng의 결과 보고서는 두 클래스가 모두 전달 된 경우 아래와 같이 표시됩니다.

의도적으로 테스트 케이스, 즉 DemoB 클래스를 실패한 시나리오를 고려하십시오. 그런 다음 두 클래스를 모두 testing.xml 패키지 파일로 변환하고 실행하십시오. 그러면 결과는 다음과 같습니다. 실패한 테스트 케이스가 표시됩니다.

DemoB 클래스의 결과입니다.

마찬가지로 Class DemoA의 결과는 다음과 같습니다.

방법 -2 index.html

  1. 프로젝트 디렉토리에서 index.html을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 웹 브라우저 옵션으로 옵션 열기를 선택하십시오. 결과는 다음과 같은 순서로 표시됩니다.

결과는 다음과 같습니다.

방법 -3 리포터 클래스

이 보고서 생성 메소드와 함께 object.properties 파일을 사용하여 시스템 생성 로그와 사용자 생성 로그를 저장할 수 있습니다. 그러나 테스트에서 로그 정보를 저장하는 가장 간단한 방법 중 하나는 Reporter 클래스를 사용하는 것 입니다.

Reporter는 TestNG에있는 클래스입니다. 로그 정보를 저장하는 4 가지 방법을 제공합니다.

  1. Reporter.log(String s);
  2. Reporter.log(String s, Boolean logToStandardOut);
  3. Reporter.log(String s, int level);
  4. 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 파일을 실행하십시오.
  • 그런 다음 프로젝트를 새로 고치면 테스트 출력 폴더가 열립니다.
  1. 테스트 출력 폴더에서 emailable-report.html을 엽니 다. 다음과 같이 표시됩니다.

마찬가지로 데모 B 프로젝트의 출력도 갖게됩니다.

2. 테스트 출력 폴더에서 index.html을 엽니다. 다음과 같이 표시됩니다.

기자 출력을 클릭하십시오. 테스트 메소드에 기록 된 모든 정보를 로깅합니다.

시간을 클릭하십시오. 수업 시간에 시험 방법을 실행하는 데 걸린 시간을 표시합니다.

요약 :

  • TestNG는 Junit에서 영감을 얻었으며 다른 주석을 포함하는 Automation Testing Framework입니다.
  • TestNG는 표준 보고서에 다음과 같은 내용을 포함하는 보고서를 생성합니다.
    • 얼마나 많은 테스트 케이스가 있습니까?
    • 얼마나 많은 테스트 케이스가 통과 되었습니까?
    • 얼마나 많은 테스트 케이스가 실패 했습니까?
    • 얼마나 많은 테스트 사례를 건너 뛰었습니까?
  • 여러 테스트 사례를 쉽게 그룹화하여 테스트 클래스를 테스트 스위트 파일로 변환하여 실행할 수 있습니다.
  • TestNG는 다른 타사 도구와 쉽게 통합 될 수 있습니다. 테스트 케이스에 우선 순위 지정, 호출 횟수를 사용하여 동일한 테스트 케이스 실행을 여러 번 수행하는 것과 같은 여러 가지 기능을 제공합니다.
  • 여러 테스트 케이스를 실행하는 동안 테스트 케이스 중 하나라도 실패하면 해당 특정 테스트 케이스를 개별적으로 실행할 수 있습니다.
  • Reporter 클래스의 정적 메서드 로그는 or.testng에 있는 로깅 정보를 저장하는 데 사용할 수 있습니다.


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