java写自动化的时,使用dataprovider参数化。
dataprovider使用的是二维数组,所以从Excel读取数据后需保存为二维数组。
这里不讲读取Excel,直接写一个二维数组
首先要声明某个方法为数据提供者,
@DataProvider(name = "ddt")
然后在调用的时候在方法上面加上
@Test(dataProvider = "ddt")
通过name这个名字来查找数据
public class TestDataProvider {
@DataProvider(name = "ddt")
public Object[][] data(){
Object[][] data = new Object[2][3];
data[0][0] = "aaa";
data[0][1] = "bbb";
data[0][2] = "fff";
data[1][0] = "ccc";
data[1][1] = "ddd";
data[1][2] = "ggg";
return data;
@Test(dataProvider = "ddt")
public void test(String one, String two, String three){
System.out.println(one);
System.out.println(two);
System.out.println(three);
}
输出:
aaa
bbb
fff
ccc
ddd
ggg
new Object[2][3]; 长度必须与跳用方法的参数个数相等,否则会报错
org.testng.internal.reflect.MethodMatcherException:
Data provider mismatch