TestNG之数据驱动DataProvider

什么是数据驱动?

数据驱动简单来说就是以数据来驱动脚本执行
比如:进行登陆模块设计时,如果我们有多个用户需要就行测试的话,
这时执行多个执行脚本就显得臃肿,复用性不高,
那么这是我们可以引用TestNG的DataProvider就可以达到只需要一个脚本,
多个数据就能多次运行,多次复用的目的

二维数组实现数据驱动,eg:

public class TestNGTest {

    @DataProvider(name="testData")
    public Object [][] dataProvider(){
        return new Object[][] {{1,2},{2,3},{3,4}};
    }
    @Test(dataProvider="testData")
    public void testDataDriver(int a,int b) {
        System.out.println("this is  "+(a+b));
    }
}

输出信息:

this is  3
this is  5
this is  7
PASSED: testDataDriver(1, 2)
PASSED: testDataDriver(2, 3)
PASSED: testDataDriver(3, 4)

===============================================
    Default test
    Tests run: 3, Failures: 0, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 3, Failures: 0, Skips: 0
===============================================
可以看到我们只有一个测试用例@Test--testDataDriver
却执行了三次:  Tests run: 3, Failures: 0, Skips: 0
注意这里我们进行传递时只能用二维数组来生成数据,这是系统规定,否则会报错
我们的测试用例@Test在引用二维数组的驱动时是以二维数组@DataProvider(name="testData")取用的名称来引用的

第二种引用数据驱动的方法:

public class TestNGTest {

    @DataProvider
    public Object [][] datas(){
        return new Object[][] {{1,2},{2,3},{3,4}};
    }
    @Test(dataProvider="datas")
    public void testDataDriver(int a,int b) {
        System.out.println("this is  "+(a+b));
    }
}

第二种是以二维数组的方法名称来引用的

这里写图片描述


总结:

1.数据驱动的二维数组的方法上面要加:@DataProvider,
且必须以二维数组来就行数据驱动
2.测试方法或者测试用例调用数据驱动的二维数组时,可以通过两种方法实现,
第一:通过数据驱动的设置的变量名称进行调用,常见的是用这种方法
第二:通过数据驱动的方法名调用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值