Saturday, September 21, 2019

Post#107.TestNG Annotations for Selenium WebDriver


TestNG Annotations for Selenium WebDriver

I have explained the three unique ways to install the TestNG plugin in Eclipse IDE. Now the next important item is to learn about the TestNG annotations.
Annotations are nothing but a piece of instruction for the compiler that you apply to classes, methods or variables in your Java code. It is a powerful feature and an integral part of the TestNG framework. There are multiple TestNG annotations which you can use for different tasks. It is essential to know each of the annotation so that you could apply them correctly while working on a TestNG Selenium WebDriver project. Let’s see what the TestNG annotations for Selenium WebDriver are and what is their objective?


TestNG Annotations
Description
@Test
Attaches a class or a method to become the part of the test.
@BeforeTest
Instructs the method to run before any test method related to the classes which are inside the <test> tag as per the <testng.xml> file.
@AfterTest
Halts a method from execution till all the test methods finish their execution. These methods belong to the classes defined in the <test> tag of <testng.xml> file.
@BeforeMethod
Allows a method to run before executing any of the @test annotated methods.
@AfterMethod
Allows a method to take off after all of the @test annotated methods finish their execution.
@Parameters
You can use this annotation for passing the parameters to the test methods.
@DataProvider
It marks a method as a data source for the test. Every @DataProvider annotated method must always return the value as <Object[ ][ ]>. You can use it in any of the @Test annotated methods.
@BeforeClass
The method annotated with @BeforeClass gets executed once before the first test method of the current class.
@AfterClass
The method annotated with @AfterClass gets run once after finishing all the test methods in the current class.
@BeforeGroups
It sets up the method to run before the first test method belonging to any of the groups involved in the execution.
@AfterGroups
It sets up the method to run after the execution of all the test methods belonging to any of the groups participating in the test.
@BeforeSuite
Any such method will get called before any of the suites runs from the test.
@AfterSuite
Any such method will stay its execution until all other methods in the current test suite get executed.
@Factory
You use it to execute any specific group of test cases with varied values. It returns an array of test class objects as the <Object[ ]>.
@Listeners
You can use them with the test classes for the logging function.





The TestNG annotations extend the same concept and control the execution sequence of the test code and test methods. I’ve drilled down the list of primary TestNG annotations along with a little detail about each of them.

Advantage of Using TestNG Annotations.
There are many benefits of using the annotations in the project.
§  They are easier to understand.
§  You can group the test cases using the appropriate annotation.
§  You can do parallel testing.
§  You can pass extra parameters to annotations.
§  They are strongly typed, so the compiler will catch any error outright.


No comments:

Post a Comment