通过前两张的学习对TestNg有个大致的了解了,那么在测试用例的时候,数据肯定是预先定义好的,但是同一条用例执行不同的数据呢?就需要注解@DataProvider
使用说明
public class TestNgDemo {
@DataProvider(name = "date")
public Object[][] data(){
return new Object[][]{{"admin","admin"},{"username","password"},{"user","pass"}};
}
@Test(dataProvider = "date")
public void login(String username,String password){
System.out.println("账号是:"+username+",密码是"+password);
}
}
运行期来如下图所示:
一条测试用例运行了三次,每次输入的参数不一致
讲解说明
1.使用@DataProvider
注解的方法,首先要输入name,在测试用例面需要用到,表明调用了哪个数据元,其次返回的方法是一个Object的二维数组,表明有多少条数据需要被传入测试用例里面。
2.@Test
注解里面有个dataProvider的属性,表明来源于哪个数据元,写@DataProvider
的name名字,还有其他的方法dataProviderClass属性表明数据元是哪个类里面的,是用这个属性可以将所有的数据元放在某个类里面。