博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TestNG中的DataProvider返回Iterator<Object[]>的妙用
阅读量:4921 次
发布时间:2019-06-11

本文共 1843 字,大约阅读时间需要 6 分钟。

TestNG中使用DataProvider有个好处,就是:

1. 在执行用例的时候dataProvider迭代中的每组数据都是作为一个用例执行

2. 在测试数据有规律的情况下,免去了添加testXML测试数据的烦恼,直接将测试数据,按个或者组,放到dataProvider中即可

注意:但是dataProvider作为数据提供者只能返回Object[][]和Iterator<Object[]>类型的数据

 

那我们的数据是按照对象存储的该怎么写入和输出呢,我这里提供一个简单的样例:

// 返回Iterator
@DataProvider(name = "iterator") public Iterator
dp1() { List
item = new ArrayList(); // 添加第一个用户 UserInfo user1 = new UserInfo(); user1.setUserName("User1"); user1.setPassword("Password1"); item.add(user1); // 添加第二个用户 UserInfo user2 = new UserInfo(); user2.setUserName("User2"); user2.setPassword("Password2"); item.add(user2); List
users = new ArrayList
(); for (Object u : item) { //做一个形式转换 users.add(new Object[] { u }); } return users.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;    }}

 

转载于:https://www.cnblogs.com/ilazysoft/p/6291003.html

你可能感兴趣的文章
命令 上传项目到git中
查看>>
Android 自定义View
查看>>
electron-searchMovies
查看>>
解题报告:hdu 2073 无限的路
查看>>
让TextBlock文字变化的动画
查看>>
L1-005 考试座位号
查看>>
js进阶 10-1 JQuery是什么
查看>>
什么是字体锯齿和反锯齿
查看>>
棋子翻转
查看>>
零售企业如何把成本控制在最低以提高利润?
查看>>
python3之登陆
查看>>
LightOJ 1027 A Dangerous Maze(期望)题解
查看>>
relative 和 absolute 定位关系
查看>>
mssql技巧
查看>>
完全二叉树求结点左右孩子编号
查看>>
andriod读取php的json时出现的bom问题
查看>>
深入理解计算机系统 第九章 虚拟内存
查看>>
如何通过 WebP 自适应方案减少图片资源大小
查看>>
一个堆的c++实现
查看>>
git基本命令--tag, alias,
查看>>