@Parameters注解
可以在TestNg中指定参数,使用@Parameters注解来指定参数。
一、 @Parameters({“username”}):
@BeforeMethod
public void beforeTest(@Optional("theRealName') String ds){
.........
}
意思是:beforeTest方法执行的时候,首先要去testng.xml中找参数名字为“username”的参数,找到的话,则为本方法的参数ds赋值为testng.xml中username的值。如果在testng.xml中找不到此参数,则使用@Optional注解的默认值"theRealName"。
注意点:
1、testng.xml中的参数,会以注解的顺序映射到java方法的参数。如果参数个数不匹配,testNg将发生错误。
2、参数是有相应范围的。在testng.xml中,你可以在<suite>标签或者<test>标签下声明参数。如果不同标签下参数的名字相同,则<test>标签下的参数优先。适合一种场合:有一个指定的应用于所有测试的参数,但是在特定的测试中需要覆盖它的值。
二、@Parameters可以使用的位置:
1、在被@Test、@Before、@After、@Factory注解的方法上。
2、测试类的最多一个构造方法上。这时候,TestNg实例化测试类时,将调用@Parameters中指定的参数名的值(一般,这个值在TestNg.xml中指定)的构造函数,也就是构造函数在testng.xml中指定了参数,则优先调用。
@DataProvider
DataProvider可以给一个测试方法提供多组测试数据。
被DataProvider标记的方法,是专门为测试方法提供数据的方法,其返回值的类型是Object[][],每一个Object[]即为测试方法的一组数据。即测试方法一次对每组Object[]进行处理。
参考:http://www.tuicool.com/articles/fAnABnb
原文链接:https://blog.csdn.net/z_zhenzhen/java/article/details/28860261