java TestNG数据驱动 dataprovider

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

posted @ 2020-10-13 11:54  不屈的鸣人  阅读(1238)  评论(0编辑  收藏  举报