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

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

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

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

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

    // 返回Iterator<Object[]>
@DataProvider(name = "iterator")
public Iterator<Object[]> dp1() {
List<Object> item = new ArrayList<Object>(); // 添加第一个用户
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<Object[]> users = new ArrayList<Object[]>(); 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;
} }

TestNG中的DataProvider返回Iterator<Object[]>的妙用的更多相关文章

  1. TestNG中的数据源DataProvider概述

    http://blog.csdn.net/taiyangdao/article/details/52141711 在上一篇文章中,我们知道带参数的测试方法,可以在testng.xml配置文件中为其参数 ...

  2. testNG中dataprovider使用的两种方式

    testNG的参数化测试有两种方式:xml和dataprovider.个人更喜欢dataprovider,因为我喜欢把测试数据放在数据库里. 一.返回类型是Iterator<Object[]&g ...

  3. TestNG中DataProvider的用法一

    目录 为什么要使用DataProvider DataProvider的常规用法 带Method参数的DataProvider 带ITestContext的DataProvider DataProvid ...

  4. TestNG 中DataProvider 的用法

    使用DataProvider提供数据有两种形式: 第一种:一种是在测试代码和测试数据放在同一个类中: 第二种:把所有的数据提供都单独写在一个类里面,当测试数据比较多时,这种方法利于维护. DataPr ...

  5. TestNG中DataProvider的用法

    提供数据的一个测试方法.注解的方法必须返回一个Object[] [],其中每个对象 []的测试方法的参数列表中可以分配.该@Test 方法,希望从这个 DataProvider 的接收数据,需要使用一 ...

  6. SSM-SpringMVC-21:SpringMVC中处理器方法之返回值Object篇

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 今天要记录的是处理方法,返回值为Object的那种,我给它分了一下类: 1.返回值为Object数值(例如1) ...

  7. TestNG @Factory与 @DataProvider 结合使用进行参数化测试

    简介 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试到集成测试,这个是TestNG设计的出发点,不仅仅是单元测试,而且可以用于集成测试.设计目标的不同,对比junit的只适合用于单 ...

  8. Testng之使用@DataProvider注解做数据驱动【转】

    原文:http://www.jianshu.com/p/8e333a0ec42a 前两天学了一下@DataProvider,今天有时间总结一下.testng很强大,提供了很多注解,其中利用@DataP ...

  9. testNG中@Factory详解

    @Factory注解从字面意思上来讲就是采用工厂的方法来创建测试数据并配合完成测试,其主要应对的场景是:对于某一个测试用例或方法,我们需要输入多个测试数据进行测试,并且这些测试数据可以是有一定关系(可 ...

随机推荐

  1. JS基础——事件绑定

    上一篇博客JS事件对象中,老师问JS事件处理和VB中的事件处理有什么联系?先来解决一下这个问题.举个VB.net中事件处理的样例(JS敲久了,VB习惯的都不熟悉了,看来得常常回想了): 1.事件处理V ...

  2. JJG 623-2005 电阻应变仪计量检定规程

    JJG 623-2005 电阻应变仪计量检定规程 点击下载 JJG533-2007标准模拟应变量校准器检定规程 点击下载 JJG 533-1988标准(里面含有一些更具体的电路图供参考)

  3. placeholder 属性的支持

    placeholder 是HTML5的. 在IE6-8中不能使用.可以使用  JQ 来设置. 给input一个value, JQ判断得到焦点时  value="": 移开焦点时,若 ...

  4. 扩展ToolBarManager、ListView和Grid控件以实现气球式的ToolTip

    原文:扩展ToolBarManager.ListView和Grid控件以实现气球式的ToolTip infragistics是全球领先的UI工具和用户体验的专家,Infragistics开发了一系列的 ...

  5. Progit Update Check Page

    ######### ######### #########

  6. How To : Create SQL Server Management Studio Addin

    原文 How To : Create SQL Server Management Studio Addin Read the full and original article from Jon Sa ...

  7. Wookmark-jQuery-master 瀑布流插件

    Wookmark-jQuery-master 瀑布流插件使用介绍,含个人测试DEMO 要求 必备知识 本文要求基本了解 Html/CSS,  JavaScript/JQuery. 开发环境 Dream ...

  8. 动手Jquery插件

    自己动手Jquery插件 最近Web应用程序中越来越多地用到了JQuery等Web前端技术.这些技术框架有效地改善了用户的操作体验,同时也提高了开发人员构造丰富客户 端UI的效率.JQuery本身提供 ...

  9. smartcn与IKanalyzer

    开源中文分词框架分词效果对比smartcn与IKanalyzer 项目背景: 某银行呼叫中心工单数据挖掘和分析项目,旨在利用文本计算实现热点聚焦和舆情分析. 一.引言: 中文分词一直是自然语言处理的一 ...

  10. 苹果推送通知服务Push Notification探究总结(序)

    刚才发了两篇几个月前写的文档,觉得太敷衍了,想了想,还是来一发实在的. 再者,刚好上周研究了苹果的推送通知服务Push Notification,还是很有心得的,赶紧趁热打铁,记录一下,望与大家谈论下 ...