TestNG数据驱动

本文介绍了TestNG的数据驱动功能,特别是使用@DataProvider注解进行数据驱动。通过示例展示了如何从CSV文件读取数据,并提供了数据驱动类和测试类的代码示例。文章强调了@DataProvider方法返回值类型的要求,并解释了测试方法参数与@DataProvider返回数据的一致性。
摘要由CSDN通过智能技术生成

分享一下我的偶像大神的人工智能教程!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

TestNG数据驱动

testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本。

@DataProvider注解简介:

@DataProvider标记专门为测试方法提供参数的方法。这类方法必须返回Object[ ][ ]类型的二维数组或者Iterator<Object>[],每一行的Object[],都是测试方法的一个测试数据集,测试方法会为每个测试数据集执行一次。如果没有指定参数的名称,则默认为方法的名称,方法的名称没有限制。

 

@DataProvider的小例子:

import java.lang.reflect.Method;

 

import org.testng.annotations.DataProvider;

import org.testng.annotations.Test;

 

public class test {

    @DataProvider(name = "user")

    public Object[][] createUser(Method m) {

        System.out.println(m.getName());

        return new Object[][] { { "root", "root" }, { "test", "root" }, { "test", "test" } };

    }

 

    @Test(dataProvider = "user")

    public void verifyUser(String username, String password) {

        System.out.println("Verify User : " + username + ":" + password);

        assert username.equals(password);

    }

 

}

如上所示@DataProvider注解了createUser方法,返回的二位数组里有三行数据,每行两列。所以@Test(dataProvider = "user")注解的verifyUser方法有两个参数,用来接收每一行的两个数据,如果createUser返回的数据数组的列数和verifyUser的参数个数不同就会报错的。因为返回的有三行,所以verifyUser会被执行三次。结果如下:

PASSED: verifyUser("root", "root")

FAILED: verifyUser("test", "root")

PASSED: verifyUser("test", "test")

CSV文件数据读取和@DataProvider

我自己做了一个以csv为例的测试架子,部分代码可通用。

 

CSV文件读取类(可通

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值