20 most popular testng interview questions
가장 자주 묻는 TestNG 인터뷰 질문과 준비에 도움이되는 예제와 답변 :
TestNG에 대한 가장 인기 있고 자주 묻는 인터뷰 질문 및 답변 목록이이 기사에 설명되어 있습니다.
개념을 쉽게 이해할 수 있도록 관련 위치에 간단한 예제가 추가되었습니다. 이 질문이 TestNG 인터뷰를 성공적으로 완료하는 데 도움이 될 것이라고 확신합니다.
자주 묻는 TestNG 인터뷰 질문
Q # 1) TestNG 란?
대답: TestNG는 개발자가 Java 프로그램에서 단위 테스트를 실행하기 위해 만든 프레임 워크입니다.
TestNG는 소프트웨어 테스터가 Selenium Webdriver에서 생성 된 자동화 된 테스트 스크립트를 효율적으로 실행하는데도 사용됩니다. 그것의 완전한 형태는“Testing New Generation”프레임 워크입니다.
신호, 비트, 케이블 및 커넥터에 사용되는 OSI 모델의 계층은 무엇입니까?
Java 프로그램 단위 테스트를위한 또 다른 프레임 워크 인 'JUnit'에서 영감을 얻었습니다. JUnit의 모든 기능 외에도 TestNG에는 더 강력하게 만드는 새로운 기능이 있습니다.
Q # 2) Eclipse에서 TestNG를 어떻게 설치합니까?
대답:
Eclipse에 TestNG를 설치하려면 아래 단계를 따르십시오.
- Eclipse로 이동-> '도움말'클릭-> '새 소프트웨어 설치'를 클릭합니다.
- '추가'버튼을 클릭하고 '다음'텍스트 상자에 이름 (권장 TestNG)을 입력합니다. '위치'텍스트 상자에 입력하고 '확인'작업 버튼을 클릭합니다.
- TestNG 확인란을 선택하고 '다음'작업 버튼을 클릭합니다. 설치가 시작되고 Eclipse는 설치 후 다시 시작됩니다.
- Eclipse에서 프로젝트를 마우스 오른쪽 버튼으로 클릭-> 빌드 경로 선택-> 빌드 경로 구성.
- 라이브러리 탭 선택-> 라이브러리 추가 버튼 클릭-> TestNG 선택-> 다음 클릭-> 마침을 클릭하고 적용하고 닫습니다.
Q # 3) TestNG 스크립트는 어떻게 실행하나요?
대답:
TestNG 스크립트를 실행하려면 :
Eclipse에서 클래스를 마우스 오른쪽 버튼으로 클릭하고 '다음으로 실행'을 클릭 한 다음 'TestNG 테스트'를 선택합니다.
또는
Eclipse의 도구 모음에서 실행 버튼을 직접 클릭합니다.
Q # 4) TestNG에서 사용되는 주석은 무엇입니까?
대답: TestNG에는 세 가지 주석 섹션이 있습니다.
(i) 전제 조건 주석 : 이들테스트 전에 실행되는 TestNG 주석입니다.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod는 전제 조건 주석입니다.
(ii) 테스트 주석 : 이것은 테스트 케이스 이전에만 언급 된 주석입니다 (테스트 케이스를 실행하기 위해 작성된 메소드 이전).
@Test는 테스트 주석입니다.
(iii) 사후 조건 주석 : 이는 테스트 케이스 이후에 실행되는 주석입니다. (테스트 케이스를 실행하기 위해 메소드를 작성한 후)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod는 사후 조건 주석입니다.
Q # 5) TestNG에서 주석 실행 순서는 무엇입니까?
대답: 주석 실행 순서는 다음과 같습니다.
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
Q # 6) TestNG의 장점은 무엇입니까?
대답: TestNG의 장점은 다음과 같습니다.
- 오픈 소스 프레임 워크이므로 구성하기 쉽습니다.
- TestNG를 사용하여 체계적으로 테스트 케이스를 생성 할 수 있습니다.
- 많은 주석을 제공하여 테스트 케이스를 쉽게 만들 수 있습니다.
- TestNG를 사용하여 테스트의 우선 순위와 실행 순서를 정의 할 수 있습니다.
- TestNG를 사용하여 그룹화가 가능합니다.
- HTML 보고서를 생성합니다 (Selenium Webdriver는 테스트 보고서 만 생성 할 수 없으며 SW가이를 달성하는 데 도움이됩니다).
- TestNG를 사용하여 데이터 매개 변수화가 가능합니다.
- JUnit의 모든 기능 외에도 TestNG에는 기능이있어 더욱 강력합니다.
Q # 7) TestNG에서 우선 순위를 설정하는 방법은 무엇입니까?
대답: 클래스에는 항상 하나 이상의 테스트 또는 메서드가 있습니다. 이러한 테스트 또는 메서드의 우선 순위를 지정하지 않으면 메서드가 알파벳순으로 선택되고 실행 중에 실행됩니다.
원하는 순서대로 테스트를 실행하려면 @Test 주석과 함께 우선 순위를 설정해야합니다.
다음과 같이 수행 할 수 있습니다.
@Test (priority = 1), @Test (priority = 2)
다음 예를 고려하십시오.
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
위의 예에서 우선 순위가 1로 설정되면 clickelement ()가 먼저 실행됩니다.
그리고 getText ()는 우선 순위가 2로 설정되어 있으므로 clickelement () 이후에 실행됩니다.
Q # 8) TestNG를 사용하여 프로젝트 보고서를 공유하는 방법은 무엇입니까?
대답: 몇 가지 방법이 있습니다.
(나는) TestNG 클래스 실행 후 콘솔 옆에 생성되는“Result of running class”라는 탭이 하나 있습니다.
우리는 이것을 복사하고 공유 할 수 있습니다.
(ii) TestNG 클래스 실행 후
- 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 새로 고침
- 'Test-output'폴더를 클릭하십시오.
- 'index.html'파일을 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
- '위치'옆에있는 링크를 복사합니다.
이 링크를 공유하여 TestNG에서 생성 한 기본 HTML 테스트 보고서를 볼 수 있습니다.
이것은 TestNG를 사용하여 클래스를 실행 한 후 컴퓨터에 자동으로 생성되는 파일입니다.
Q # 9) TestNG에서 그룹화를 어떻게 정의 하시겠습니까?
대답: 아래와 같이 그룹 속성을 사용하여 TestNG에서 그룹화를 정의 할 수 있습니다.
@Test (groups =”title”)
Q # 10) TestNG에 대한 의존성은 무엇입니까?
대답: 많은 방법이 의존하는 몇 가지 방법이 있습니다.
예를 들어 응용 프로그램을 테스트하려는 경우 응용 프로그램의 로그인 페이지가 작동하지 않으면 나머지 시나리오를 테스트 할 수 없습니다.
따라서 LoginTest는 많은 테스트가 의존하는 방법입니다.
따라서 다음과 같이 작성합니다.
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
위의 코드는 homePageLaunched () 메서드가 LoginTest () 메서드에 완전히 종속되어 있음을 보여줍니다.
LoginTest ()가 전달되면 homePageLaunched () 메서드 만 실행됩니다.
Q # 11) TestNG에서 InvocationCount는 무엇입니까?
대답: 테스트 케이스 'n'번을 실행하려면 아래 예제와 같이 invocationCount 속성을 사용할 수 있습니다.
예:
@Test(invocationCount=8) Public void print() { }
위의 예에서 print () 메서드는 8 번 실행됩니다.
Q # 12) TestNG에서 타임 아웃이란 무엇입니까?
대답: 스크립트의 메서드 실행에 시간이 오래 걸리는 경우 TestNG에서 'timeout'을 사용하여 해당 메서드를 종료 할 수 있습니다.
@Test (시간 초과 = 5000)
이 경우 메서드는 5000ms (5 초) 내에 종료되고 테스트 케이스는 '실패'로 표시됩니다.
Q # 13) TestNG에서 예외를 처리하는 방법은 무엇입니까?
대답: 예외를 예상하는 메서드가있는 경우 @Test 주석에 예외를 언급하여 테스트 케이스가 실패하지 않도록 할 수 있습니다.
예: 메소드에 'numberFormatException'예외가있을 것으로 예상되는 경우 try-catch 블록이 지정되지 않으면이 예외로 인해 테스트 케이스가 실패합니다.
그러나 다음과 같이“expectedException”속성을 사용하여 TestNG에서 할 수 있습니다.
@Test (expectedException = numberFormatException.class)
그러면 테스트 케이스가 실패하지 않고 실행됩니다.
Q # 14) 일반적인 TestNG 주장은 무엇입니까?
대답: 일반적인 TestNG 어설 션에는 다음이 포함됩니다.
현실 세계에서의 자바 응용
(나는) Assert.assetEquals (실제 문자열, 예상되는 문자열);
- 두 개의 문자열을받습니다.
- 두 문자열이 모두 같으면 테스트 케이스가 성공적으로 실행되고 그렇지 않으면 테스트 케이스가 실패합니다.
(ii) Assert.assertEquals (실제 문자열, 예상 문자열, 문자열 메시지)
- 두 개의 문자열을받습니다.
- 두 문자열이 모두 같으면 테스트 케이스가 성공적으로 실행되고 그렇지 않으면 테스트 케이스가 실패합니다.
- 테스트 케이스가 실패하면 메시지가 인쇄됩니다.
(iii) Assert.assertEquals (실제 부울, 예상 부울)
- 두 개의 부울 값을 허용합니다.
- 두 부울 값이 모두 같으면 테스트 케이스가 성공적으로 실행되고 그렇지 않으면 테스트 케이스가 실패합니다.
(iv) Assert.assertTrue ()
- 부울 값을받습니다.
- 조건이 True이면 어설 션이 통과되고 그렇지 않으면 어설 션 오류가 표시됩니다.
(V) Assert.assertFalse ()
- 부울 값을받습니다.
- 조건이 False이면 어설 션이 통과되고 그렇지 않으면 어설 션 오류가 표시됩니다.
(우리) Assert.assertTrue (, 메시지)
- 부울 값을받습니다.
- 조건이 True이면 어설 션이 통과되고, 그렇지 않으면 언급 된 메시지와 함께 어설 션 오류가 표시됩니다.
(오고있어) Assert.assertFalse (, 메시지)
- 부울 값을받습니다.
- 조건이 False이면 어설 션이 통과되고, 그렇지 않으면 언급 된 메시지와 함께 어설 션 오류가 표시됩니다.
Q # 15) TestNG에서 테스트를 비활성화하는 방법은 무엇입니까?
대답:
TestNG에서 테스트를 비활성화하려면 다음과 같이 'enabled'속성을 사용해야합니다.
@Test (enabled =”false”)
Q # 16) TestNG의 Assert 유형은 무엇입니까?
대답: 결과 (합격 / 실패)를 확인하려면 어설 션을 사용해야합니다.
TestNG에는 두 가지 유형의 assert가 있습니다.
(i) 엄격한 주장 :
Hard Assert는 TestNG 클래스에서 유효성 검사를 수행하는 데 사용되는 일반 assert입니다.
다음과 같이 하드 어설 션을 위해 Assert 클래스를 사용해야합니다.
Assert.assertEquals (실제 값, 예상 값);
하드 어설 션이 실패하면 assert 문 이후에 코드가 실행되지 않습니다.
(ii) 소프트 어설트 :
assert 문이 실패한 후에도 테스트 실행을 계속하려면 soft assert를 사용해야합니다.
소프트 어설 션을 생성하려면 다음과 같이 'softAssert'클래스의 개체를 만들어야합니다.
softAssert sassert = 새 softAssert ();
sassert.assertAll ();
따라서 이제 테스트 케이스가 실패하면 소프트 어설 션을 사용할 때 실행이 종료되지 않습니다.
Q # 17) testng.xml 파일을 통해 테스트 케이스의 파라미터를 전달하는 방법은 무엇입니까?
대답: 로그인 메소드가 정의 된 클래스가있는 경우 testing.xml 파일에서 로그인 매개 변수를이 로그인 메소드로 전달할 수 있습니다.
다음과 같이 '@parameters'주석을 사용해야합니다.
@Parameters({'user_name','password'}) @Test public void loginapp() { driverget(“appname”); driver.findElement(By.id(“login”)).sendkeys(user_name); driver.findElement(By.id(“password”)).sendkeys(password); }
이제 testng.xml 파일로 이동하여 다음과 같이 매개 변수를 입력하십시오.
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
Q # 18) testng.xml 파일을 생성하려면 무엇이 필요합니까?
대답: Selenium Webdriver를 사용하여 프로젝트를 테스트 할 때 많은 클래스가 있습니다. 이러한 클래스를 하나씩 선택하여 자동화 할 수는 없습니다. 따라서 모든 클래스가 단일 테스트 스위트에서 실행되도록 스위트를 생성해야합니다.
testing.xml 파일을 만들어이를 달성 할 수 있습니다.
Q # 19) TestNG에서 XML 파일을 만드는 방법은 무엇입니까?
대답: src 폴더로 이동-> 파일 클릭-> 파일 이름 입력 (대부분 testing.xml 작성)
그런 다음 마침을 클릭하십시오.
빈 XML 파일이 있습니다. 여기서는 아래와 같이 패키지 이름과 함께 실행할 프로젝트 이름과 클래스를 언급해야합니다.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
이 파일을 실행하려면 패키지 탐색기에서 testng.xml로 이동하여 마우스 오른쪽 버튼을 클릭하고 다음으로 실행해야합니다.-> TestNG suite
Q # 20) TestNG에서 SKIP 예외를 던지는 방법은 무엇입니까?
대답: 테스트를 사용하여 테스트를 건너 뛰려면 TestNG에서 SKIP 예외를 사용해야합니다.
다음과 같이 작성됩니다.
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
인터뷰에 최선을 다하길 바랍니다 !!