TestNG Interview Questions PDF
TestNG Interview Questions PDF
What is TestNG?
@BeforeTest
@AfterTest
@BeforeClass
@AfterClass
@BeforeMethod
@AfterMethod
@BeforeSuite
@AfterSuite
@BeforeGroups
@AfterGroups
@Test
Practical Example
4. Can you arrange the below testng.xml tags from parent to
child?
1 <test>
2 <suite>
3 <class>
4 <methods>
5 <classes>
1 <suite>
2 <test>
3 <classes>
4 <class>
5 <methods>
3 @Test
4 @Parameters("browser")
6 if(browser.equals("firefox")){
8 }else if(browser.equals("chrome")){
9 System.out.println("Open Chrome Driver");
10 }
11 }
12 }
Practical Example
Soft Assert collects errors during @Test. Soft Assert does not throw
an exception when an assert fails and would continue with the next
step after the assert statement.
If there is any exception and you want to throw it then you need to
use assertAll() method as a last statement in the @Test and test
suite again continue with next @Test as it is.
Practical Example
Practical Example
Practical Example
2 package TestNG;
3 import org.testng.annotations.*;
5 @Test(priority=0)
8 }
9 @Test(priority=1)
12 }
13 }
Output:
1 Test Case 1
2 Test Case 2
Parameterized tests allow developers to run the same test over and
over again using different values.
There are two ways to set these parameters:
2 @DataProvider(name="getData")
10 data[1][0] = "SecondUid";
11 data[1][1] = "SecondPWD";
12
13 return data;
14
15 }
Practical Example
Groups are specified in your testng.xml file and can be found either
under the <test> or <suite> tag. Groups specified in the <suite> tag
apply to all the <test> tags underneath.
3 System.out.println("Logged in successfully");
4}
Practical Example
2 <define name="all">
3 <include name="smokeTest"/>
4 <include name="functionalTest"/>
5 </define>
6 <run>
8 </run>
9 </groups>
Practical Example
tests – All the test cases inside <test> tag of testng.xml file will run
parallel
classes – All the test cases inside a java class will run parallel
methods – All the methods with @Test annotation will execute
parallel
instances – Test cases in same instance will execute parallel but two
methods of two different instances will run in different thread.
Practical Example
18. How to exclude a particular test method from a test case
execution?
1 <classes>
2 <class name="TestCaseName">
3 <methods>
4 <exclude name="TestMethodNameToExclude"/>
5 </methods>
6 </class>
7 </classes>
1 <groups>
2 <run>
3 <exclude name="TestGroupNameToExclude"/>
4 </run>
5 </groups>
Practical Example
1 @Test(enabled = false)
Practical Example
To ignore the test case we use the parameter enabled = false to the
@Test annotation.
1 @Test(enabled = false)
Practical Example
23. How TestNG allows to state dependencies?
Practical Example
2 <include name=".*smoke.*"/>
3 </methods>
27. What is the time unit we specify in test suites and test
cases?
We specify the time unit in test suites and test cases is
in milliseconds.
28. List out various ways in which TestNG can be invoked?
1 C:\Users\Admin\Desktop\STMSeleniumTutorial\workspace\SoftwareTestingMaterial
3 set
4 classpath=C:\Users\Admin\Desktop\STMSeleniumTutorial\workspace\SoftwareTestingMaterial\bin;C:\Users\Admin\Desktop\
5 STMSeleniumTutorial\workspace\SoftwareTestingMaterial\lib\*
java org.testng.TestNG C:\Users\Admin\Desktop\STMSeleniumTutorial\workspace\SoftwareTestingMaterial\testng.xml
1 @Test(invocationCount = 10)
In this example, the function testCase1 will be invoked ten times from
three different threads. Additionally, a time-out of ten seconds
guarantees that none of the threads will block on this thread
forever.
@Factory: A factory will execute all the test methods present inside
a test class using a separate instance of the respective class with
different set of data.