TestNG中DataProvider的用法】的更多相关文章

使用DataProvider提供数据有两种形式: 第一种:一种是在测试代码和测试数据放在同一个类中: 第二种:把所有的数据提供都单独写在一个类里面,当测试数据比较多时,这种方法利于维护. DataProvider定义了属性name时,提取数据时可以使用name,没有定义name时,提取数据时直接使用方法名称. public class ParamTestWithDataProvider1 { @DataProvider(name = "test1") public static Obj…
@DataProvider标记的方法除了可以返回数组外,还可以返回一个Iterator,这样的好处是不用把所有的测试数据都加载到内存中,而是需要的时候就读一条. 下面的例子就使用了Iterator,然后在Iterator对象中保存了一个文件对象,在需要参数的时候就从文件中读一行数据出来. 这个例子主要由如下四个文件组成: Person类被测试类 TxtIterator类实现Iterator接口,用于从文件中读取数据,返回给被测试类 testng.xmlTestNG配置文件 data.txt参数池…
提供数据的一个测试方法.注解的方法必须返回一个Object[] [],其中每个对象 []的测试方法的参数列表中可以分配.该@Test 方法,希望从这个 DataProvider 的接收数据,需要使用一个 dataProvider 名称等于这个注解的名字.   第一种用法 :返回Object[][]   @DataProvider( name= "user") public Object[][] user(){ return new Object[][]{ { "",…
TestNG中的组可以从多个类中筛选组属性相同的方法执行. 比如有两个类A和B,A中有1个方法a属于组1,B中有1个方法b也属于组1,那么我们可以通过配置TestNG文件实现把这两个类中都属于1组的方法抽取出来执行. 示例代码 car1 package ngtest; import org.testng.annotations.Test; public class Car1 { @Test(groups={"driver"})//定义该方法属于driver组 public void d…
目录 为什么要使用DataProvider DataProvider的常规用法 带Method参数的DataProvider 带ITestContext的DataProvider DataProvider的其他位置 为什么要使用DataProvider DataProvider可以实现类似Factory的数据驱动的测试,而且使用DataProvider的时候,被测试方法所在的类只被创建一次,只是方法被调用多次,所以比较省时省力 DataProvider还可以实现懒加载,在需要测试大量数据的时候可…
testNG的参数化测试有两种方式:xml和dataprovider.个人更喜欢dataprovider,因为我喜欢把测试数据放在数据库里. 一.返回类型是Iterator<Object[]>,不用管有多少组测试数据,可以抽取出来以map的id为参数作为公用的提取数据方法. @DataProvider(name="loginData") private Iterator<Object[]> LoginDataProvider() throws IOExcepti…
http://blog.csdn.net/taiyangdao/article/details/52141711 在上一篇文章中,我们知道带参数的测试方法,可以在testng.xml配置文件中为其参数赋值.但是那只适用于初始值简单且确切的情况. 对于初始值是复杂的对象,或者初始值是执行过程中生成的情况,就只能使用这里的数据源@DataProvider. 使用TestNG中的数据源@DataProvider,所有的工作都在测试类中完成.具体过程分为两个步骤,第一步是定义数据源,第二步是在测试方法中…
TestNG中使用DataProvider有个好处,就是: 1. 在执行用例的时候dataProvider迭代中的每组数据都是作为一个用例执行 2. 在测试数据有规律的情况下,免去了添加testXML测试数据的烦恼,直接将测试数据,按个或者组,放到dataProvider中即可 注意:但是dataProvider作为数据提供者只能返回Object[][]和Iterator<Object[]>类型的数据 那我们的数据是按照对象存储的该怎么写入和输出呢,我这里提供一个简单的样例: // 返回Ite…
前言 最近在做项目里的自动化测试工作,使用的是TestNG测试框架,主要涉及的测试类型有接口测试以及基于业务实际场景的场景化测试.由于涉及的场景大多都是大数据的作业开发及执行(如MapReduce.Spark.Hql等任务的执行),而这些任务的执行都需要耗费较多的时间.举一个普遍的例子,其中一条场景测试用例是: 执行一个MapReduce作业,校验作业的执行结果和执行日志. 对于一个最简单的MR任务,如果YARN集群资源充足,它的执行时间也要花上将近一分钟的时间.更不用说当YARN集群计算资源饱…
DDT,即数据驱动测试 Data Driver Test,我曾经记录了一篇关于python的DDT框架(Excel+DDT数据驱动实例),那么java中的DDT是怎么样的呢?在java中,可以用testng的DataProvider和Excel实现. 首先建一个文档TestData.xlsx,里面内容如下: 然后写一个读excel的公共类,代码如下: /** * @author Helen * @date 2018年6月5日 */ package common; import java.io.F…