TestNG中使用DataProvider有个好处,就是:
1. 在执行用例的时候dataProvider迭代中的每组数据都是作为一个用例执行
2. 在测试数据有规律的情况下,免去了添加testXML测试数据的烦恼,直接将测试数据,按个或者组,放到dataProvider中即可
注意:但是dataProvider作为数据提供者只能返回Object[][]和Iterator<Object[]>类型的数据
那我们的数据是按照对象存储的该怎么写入和输出呢,我这里提供一个简单的样例:
// 返回Iterator
我们将上述的UserInfo的数据组放入到了iterator中,怎么调用呢?
@Test(dataProvider = "iterator") public void testProvider(UserInfo user) { System.out.println("User Name is: "+ user.getUserName() +"\n"+"User password is" + user.getPassword()); }
这里给出一个UserInfo的对象
/** * @Title: UserInfo.java* @Package com.dataProvider.domain* @Description: TODO(用一句话描述该文件做什么)* @author pc* @date 2017年1月16日* @version V1.0 */package com.dataProvider.domain;/** * @ClassName: UserInfo * @Description: TODO(这里用一句话描述这个类的作用) * @author pc * @date 2017年1月16日 * */public class UserInfo { private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}