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