Annotations
@BeforeSuite: The annotated method will be run before all tests in this suite have
run.
@AfterSuite: The annotated method will be run after all tests in this suite have
run.
@BeforeTest: The annotated method will be run before any test method belonging to
the classes inside the <test> tag is run.
@AfterTest: The annotated method will be run after all the test methods belonging to
the classes inside the <test> tag have run.
@BeforeGroups: The list of groups that this configuration method will run before. This
method is guaranteed to run shortly before the first test method that belongs
to any of these groups is invoked.
@AfterGroups: The list of groups that this configuration method will run after. This
method is guaranteed to run shortly after the last test method that belongs to
any of these groups is invoked.
@BeforeClass: The annotated method will be run before the first test method in the
current class is invoked.
@AfterClass: The annotated method will be run after all the test methods in the
current class have been run.
@BeforeMethod: The annotated method will be run before each test method.
@AfterMethod: The annotated method will be run after each test method.
alwaysRun
For before methods (beforeSuite, beforeTest,
beforeTestClass and beforeTestMethod, but not beforeGroups): If set to true,
this configuration method will be run regardless of what groups it belongs to.
For after methods (afterSuite, afterClass, ...): If
set to true, this configuration method will be run even if one or more methods
invoked previously failed or was skipped.
dependsOnGroups The list of groups this
method depends on.
dependsOnMethods The list of methods this
method depends on.
enabled Whether methods on this class/method are enabled.
groups The list of groups this
class/method belongs to.
inheritGroups If true, this method will belong
to groups specified in the @Test annotation at the class level.
@DataProvider
Marks
a method as supplying data for a test method. The annotated method must return
an Object[][] where each Object[] can be assigned the parameter list of the
test method. The @Test method that wants to receive data from this DataProvider
needs to use a dataProvider name equals to the name of this annotation.
name The name of this data provider.
If it's not supplied, the name of this data provider will automatically be set
to the name of the method.
parallel If set to true, tests generated
using this data provider are run in parallel. Default value is false.
@Factory Marks a method as a
factory that returns objects that will be used by TestNG as Test classes. The
method must return Object[].
Difference between @
DataProvider and @ Factory
DataProvider: A test method that uses DataProvider will be executed a multiple number
of times based on the data provided by the DataProvider. The test method will
be executed using the same instance of the test class to which the test method
belongs.
Factory: A factory will execute all the test methods present inside a test class
using a separate instance of the respective class.Factories allow you to create tests dynamically.
@Listeners Defines listeners on a test
class.
value An array of classes that extend
org.testng.ITestNGListener.
@Parameters Describes how to pass
parameters to a @Test method.
value The list of variables used to fill the parameters of this method.
@Test Marks a class or a method as
part of the test.
Test methods are annotated with @Test. Methods
annotated with @Test that happen to return a value will be ignored, unless you
set allow-return-values to true in your testng.xml:
alwaysRun If set to true, this test
method will always be run even if it depends on a method that failed.
dataProvider The name of the data provider
for this test method.
dataProviderClass The class where to look
for the data provider. If not specified, the data provider will be looked on
the class of the current test method or one of its base classes. If this
attribute is specified, the data provider method needs to be static on the
specified class.
dependsOnGroups The list of groups this
method depends on.
dependsOnMethods The list of methods this
method depends on.
description The description for this
method.
enabled Whether methods on this
class/method are enabled.
expectedExceptions The list of exceptions that a
test method is expected to throw. If no exception or a different than one on
this list is thrown, this test will be marked a failure.
groups The list of groups this
class/method belongs to.
invocationCount The number of times this
method should be invoked.
invocationTimeOut The maximum number of
milliseconds this test should take for the cumulated time of all the
invocationcounts. This attribute will be ignored if invocationCount is not
specified.
priority The priority for this test method.
Lower priorities will be scheduled first.
successPercentage The percentage of success
expected from this method
singleThreaded If set to true, all the methods on
this test class are guaranteed to run in the same thread, even if the tests are
currently being run with parallel="methods". This attribute can only
be used at the class level and it will be ignored if used at the method level.
Note: this attribute used to be called sequential (now deprecated).
timeOut The maximum number of
milliseconds this test should take.
threadPoolSize The size of the thread pool for
this method. The method will be invoked from multiple threads as specified by invocationCount.
Note: this attribute is ignored if invocationCount
is not specified
Comments
Post a Comment