Selenium의 TestNG 주석에 대해 알아야 할 모든 것



Selenium의 TestNG 주석에 대한이 기사는 예제를 통해 TestNG가 Selenium에서 지원하는 다양한 주석을 이해하는 데 도움이됩니다.

개념 이후 도입되고 많은 테스트 방법이 발전했으며 패러다임이 변경되었지만 요구 사항은 어떻게 든 일정하게 유지되었습니다.. 그러한 방법론 중 하나는 TestNG Annotations의 도움으로 테스트 케이스를 코드의 다른 섹션으로 그룹화하는 데 도움이됩니다. 하지만 어떻게 작동합니까? TestNG Annotations에 대한이 기사의 매체를 통해이 개념을 이해하겠습니다. .

이 기사에서는 아래에 언급 된 주제를 다룰 것입니다.





TestNG 소개

TestNG 약자 차세대 테스트 JUnit 및 NUnit에서 영감을받은 오픈 소스 테스트 자동화 프레임 워크입니다. 잘, TestNG 단지 영감을받은 것이 아니라이 두 프레임 워크의 업그레이드 된 버전입니다. 그렇다면 여기서 업그레이드는 무엇입니까? TestNG를 통한 업그레이드는 이전에는 불가능했던 코드에서 테스트 주석, 그룹화, 우선 순위 지정, 매개 변수화 및 시퀀싱 기술과 같은 추가 기능을 제공한다는 것입니다.

TestNG 소개-TestNG 주석-Edureka테스트 사례를 관리 할뿐만 아니라 TestNG를 사용하여 자세한 테스트 보고서도 얻을 수 있습니다. 실패한 테스트 케이스의 수를 표시하는 자세한 요약이 있습니다. 또한 버그의 위치를 ​​정확하게 파악하고 신속하게 수정할 수 있습니다. 이제 TestNG가 무엇인지 알았으므로 Selenium에서 TestNG를 사용하는 이유를 살펴 보겠습니다.



Selenium에서 TestNG를 사용하는 이유는 무엇입니까?

전 세계의 소프트웨어 개발자는 테스트 케이스에 코드를 작성하면 디버깅 시간의 상당 부분을 절약한다는 데 만장일치로 동의 할 것입니다. 왜? 테스트 케이스는 전체 코드를 더 작은 테스트 케이스로 분할 한 다음 이러한 각 테스트 케이스를 평가하여 조건을 통과 / 실패함으로써 오류없는 코드를 생성 할 수 있으므로 강력하고 오류없는 코드를 만드는 데 도움이되기 때문입니다. 이후 테스트 케이스에서 코드 실행을 지원하지 않는 경우, TestNG는 테스트 케이스 실행에 도움이 될 그림에 나타납니다.

TestNG는 다음 기능도 지원합니다.

  • 실행 된 테스트 케이스 수, 실패한 테스트 케이스 수 및 건너 뛴 테스트 케이스를 포함하는 적절한 형식으로 보고서를 생성합니다.
  • 여러 테스트 케이스를 TestNG.xml 파일로 변환하여 더 쉽게 그룹화 할 수 있습니다. 여기에서 테스트 케이스를 실행하기위한 우선 순위를 설정할 수 있습니다.
  • TestNG를 사용하면 여러 브라우저에서 여러 테스트 케이스를 실행할 수 있습니다. 브라우저 간 테스트 .
  • 테스트 프레임 워크는 Maven, Jenkins 등과 같은 도구와 쉽게 통합 될 수 있습니다.

이제 TestNG가 무엇이며 왜 사용되는지 알았으니, 더 나아가 TestNG가 Selenium에서 지원하는 다양한 주석에 대해 알아 보겠습니다.

TestNG 주석

Selenium의 TestNG 주석은 실행할 다음 메소드를 제어하는 ​​데 사용됩니다. 테스트 주석은 테스트 코드의 모든 메서드 앞에 정의됩니다. 주석이 접두사로 붙지 않은 메서드가있는 경우 해당 메서드는 무시되고 테스트 코드의 일부로 실행되지 않습니다. 이를 정의하려면 메소드에‘ @테스트 ‘.



TestNG 주석 유형 :

아래는 TestNG가 셀레늄에서 지원하는 주석 목록입니다.

  • @BeforeMethod : 이 주석이있는 메서드는 매번 실행되기 전에 실행됩니다. @테스트 주석이 달린 방법.
  • @AfterMethod :이 주석은 매번 실행됩니다. @테스트 주석이 달린 방법.
  • @BeforeClass : 이 주석은 전에 실행됩니다. 첫 번째 @Test 메소드 실행. 클래스 당 한 번만 실행됩니다.
  • @AfterClass : T 그의 주석은 현재 클래스의 모든 테스트 메서드가 실행 된 후에 실행됩니다.
  • @BeforeTest : 이 어노테이션이있는 메소드는 전에 실행됩니다. 첫 번째 @Test 주석이 달린 방법.
  • @AfterTest : 이 주석이있는 메소드는 다음과 같은 경우에 실행됩니다. 모두 @테스트 주석이 달린 메소드는 내부 태그에있는 클래스의 실행을 완료합니다. TestNG.xml 파일.
  • @BeforeSuite : 이 주석이 실행됩니다. 전에 한 번만 제품군의 모든 테스트가 실행되었습니다.
  • @AfterSuite : 이 주석이있는 메소드가 실행됩니다. 한 번 후에 스위트의 모든 테스트 실행이 실행되었습니다.
  • @BeforeGroups : 이 주석이 달린 메소드가 실행됩니다. 첫 번째 테스트 실행 전 그 특정 그룹의.
  • @AfterGroups : 이 주석이 달린 메소드가 실행됩니다. 모든 테스트 방법 후 그 그룹의 실행이 완료됩니다.

그래서 이것은 TestNG의 주석에 관한 것입니다. 이제 더 나아가 TestNG를 사용하여 첫 번째 테스트 케이스를 작성하는 방법을 이해하겠습니다.

TestNG 주석을 사용하여 테스트 케이스 만들기

TestNG Annotation을 사용하여 테스트 케이스를 만드는 데 관련된 다양한 단계는 다음과 같습니다.

  1. 프로젝트를 만들고 TestNG 라이브러리를 추가합니다.
  2. 클래스 파일 생성 및 프로그램 코딩
  3. 마지막으로 XML 파일을 작성하고 TestNG Suite에서 실행합니다.

TestNG를 사용하여 테스트 케이스를 작성하는 방법에 대해 자세히 알아 보려면이 기사를 확인하십시오. TestNG 튜토리얼 . 이제 더 나아가 TestNG 주석이 테스트 케이스를 그룹화하고 프로그램을 구성하는 데 어떻게 도움이되는지 이해하겠습니다.

추가 기능은 무엇입니까?
테스트 사례 1 :

이 테스트 케이스에서는 세 가지 다른 주석을 사용하고 프로그램을 코딩합니다. 아래 예를 통해이를 수행하는 방법을 이해하겠습니다.

패키지 co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test public class AnnotationExample {public String baseUrl = 'https://www.edureka.co/'String driverPath = 'C : //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe'public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ( 'launching Chrome browser') System.setProperty ( 'webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = '연중 무휴 평생 지원을 제공하는 강사 주도 식 온라인 교육 @AfterTest public void terminateBrowser () {driver.close ()}}

기본적으로 Edureka 웹 페이지의 실제 제목이 예상 제목과 일치하는지 확인하고 싶습니다. 그래서 먼저‘ @BeforeTest ' 주석 달기 및 브라우저 드라이버 인스턴스 생성 및 Edureka 웹 사이트 탐색 driver.get () 방법. 따라서 이것은 테스트 전에 수행해야하는 단계입니다.

다음으로 이번 테스트에서 예상 타이틀과 실제 타이틀이 일치하는지 확인하고 싶습니다. 이것이 @Test Annotation으로 모든 단계를 지정하는 이유입니다. 마지막으로 테스트 후 드라이버를 닫고 브라우저를 종료하겠습니다. 그래서 저는 @AfterTest 주석 달기 및 드라이버 닫기. 그래서 이것은 전체 코드를 다양한 주석으로 그룹화하고 테스트 케이스를 실행하는 방법입니다. TestNG Test로 프로그램을 실행하고 출력을 확인하겠습니다.

스냅 샷에서 테스트 케이스가 기본 테스트 및 스위트에서 성공적으로 실행되었음을 확인할 수 있습니다. 또한 테스트 케이스를 통과했으며 실패도 없습니다.

이제 다양한 주석의 실행 흐름을 심도있게 이해하기위한 예제를 하나 더 살펴 보겠습니다. 주석 실행의 흐름을 아는 것은 매우 필요합니다. 그러니 아래의 스냅 샷을보고 그것에 대해 알아 봅시다.

주석 실행의 흐름은 위의 스냅 샷과 같습니다. 이제 같은 것을 이해하기 위해 하나의 예를 더 보겠습니다.

테스트 사례 2 :

패키지 co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// 테스트 케이스 1 @Test public void testCase1 () {System.out.println ( 'Test Case 1')} // 테스트 케이스 2 @Test public void testCase2 () {System.out.println ( 'Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ( 'Before Method ')} @AfterMethod public void afterMethod () {System.out.println ('After Method ')} @BeforeClass public void beforeClass () {System.out.println ('Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ( 'After Class')} @BeforeTest public void beforeTest () {System.out.println ( 'Before Test')} @AfterTest public void afterTest () {System.out.println ( 'After Test')} @BeforeSuite public void beforeSuite () {System.out.println ( 'Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( '애프터 스위트')}}

위의 코드에서 저는 Annotations가있는 모든 메서드를 무작위로 작성하고 있습니다. 나는 그것의 순서를 따르지 않고있다. 그러나 프로그램을 실행하면 동일한 순서를 따릅니다. 이제 출력을 확인하겠습니다.

[RemoteTestNG]가 TestNG 버전 6.14.2 감지 전 테스트 전 클래스 전 테스트 케이스 1 후 메소드 전 테스트 케이스 2 후 메소드 후 테스트 통과 후 : testCase1 합격 : testCase2 ========== =================================== 기본 테스트 테스트 실행 : 2, 실패 : 0, 건너 뛰기 : 0 ============================================= ============================================ 기본 제품군 전체 테스트 실행 : 2, 실패 : 0, 건너 뛰기 : 0 ====================================== ========

위의 출력에서 ​​테스트 케이스가 모두 실행되었고 Before Suite 및 After Suite가 한 번만 실행되었음을 알 수 있습니다. 또한 테스트는 기본 테스트 및 스위트에서 성공적으로 실행되었습니다. 이것이 Annotations를 사용하여 테스트 케이스를 실행하는 방법입니다.이제 Selenium의 TestNG 주석에 대한이 기사의 끝으로 이동합니다.

개념을 이해하고 지식에 가치를 더하기를 바랍니다. 이제 Selenium에 대한 더 많은 통찰력을 얻으려면 다음 기사를 확인하십시오. .

이 'Selenium의 TestNG 주석을 찾았다면 ”관련, 체크 아웃 전 세계에 걸쳐 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다.

질문이 있으십니까? 의 댓글 섹션에서 언급하십시오. 셀레늄의 TestNG 주석 기사와 우리는 당신에게 돌아갈 것입니다.