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
原文:https://www.cnblogs.com/lixianshengfitting/p/13807809.html