testng参数化方法:Parameters和DataProvider
Parameters注解在测试方法上指定参数列表,然后在测试方法中声明对应的形参,形参与参数列表一一对应,但名字可以不同,如下所示:
public class Test1 {
@Parameters({"Name", "Age", "Hobby"})
@Test
public void test1(String name, int age, String hobby) {
System.out.println(name + " is " + age + " years old and likes " + hobby);
}
}
然后在XML文件中通过<parameter>标签对每个参数赋值,采用name-value对的形式:
<suite name="suite1">
<parameter name="Name" value="xiaoming" />
<parameter name="Age" value="20" />
<parameter name="Hobby" value="dajiangyou" /> <test name="test1" verbose="2">
<classes>
<class name="sea.Test1" />
</classes>
</test> </suite>
运行结果为:
xiaoming is 20 years old and likes dajiangyou
PASSED: test1("xiaoming", 20, "dajiangyou")
Parameters一般用于比较简单的参数,对于参数比较多、复杂或者需要从文件读取的时候一般使用DataProvider注解。
采用DataProvider时构造参数的方法必须返回Obiect[][],可以看着二维数组(当然也可存放一维数据)。
使用时,首先定义一个DataProvider,通过name参数指定该测试数据的名字;
然后在测试方法中,通过Test注解的dataProvider参数指定需要使用的测试数据名字,多个测试方法可以使用同一个dataProvider;
最后在测试方法的形参列表中,定义与Obiect[][]的每一行数据一一对应的参数,该测试方法被执行时,有多少组参数就会被执行多少次。
举例如下,可以看到test2这个用例被执行了3次:
public class Test1 {
@DataProvider(name = "data1")
public Object[][] createdata() {
return new Object[][] {
{"lilei", 20, "football"},
{"hanmeimei", 18, "music"},
{"wangnima", 25, "baozoumanhua"}
};
}
@Test(dataProvider = "data1")
public void test2(String name, int age, String hobby) {
System.out.println(name + " is " + age + " years old and likes " + hobby);
}
}
lilei is 20 years old and likes football
hanmeimei is 18 years old and likes music
wangnima is 25 years old and likes baozoumanhua
PASSED: test2("lilei", 20, "football")
PASSED: test2("hanmeimei", 18, "music")
PASSED: test2("wangnima", 25, "baozoumanhua")
testng参数化方法:Parameters和DataProvider的更多相关文章
- TestNG参数化之@Parameters传参
通过TestNG实现参数话常用两种方式,一种是借助 @Parameters读取testng.xml中参数,一种是使用@DataProvider注解传参. 此次主要讲解XML传参,语法:在java类中定 ...
- testng入门教程10 TestNG参数化测试
在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...
- TestNG 参数化应用
一.第一种参数化方式(testng.xml配置参数) 1.新建ParameterDemo04类 2.拷贝类的路径 3.testng.xml配置类地址及参数 <?xml version=" ...
- loadrunner 脚本优化-参数化方法
脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...
- Jmeter接口测试系列之参数化方法
至于参数化的用途,我这里就不多说了,本文主要介绍最全.最强大的参数化方法,对参数化有一个彻底的认识,这里提供了多种参数化方法 1.jmeter参数化之用户变量 在测试计划里面添加一个用户自定义的变 ...
- SoapUI常用的参数化方法
本篇文章来讲一下SoapUI在使用中常用的参数化方法字段参数化和使用DataSource调用Excel中的 数据给接口参数化,其中DataSource功能SoapUI开源版没有,大家可以使用破解版, ...
- 【一】Jmeter接口自动化测试系列之参数化方法
Jmeter作为虽然作为一款和LoadRunner相媲美的性能测试工具,但参数化功能实在不咋地,这里我大概总结了一下Jmeter的参数化方法! 至于参数化的用途,我这里就不多说了,做测试的都明白吧!本 ...
- TestNG中用Parameters或DataProvider为测试方法传入参数
转载于网络 一.设置参数 测试方法是可以带有参数的.每个测试方法都可以带有任意数量的参数,并且可以通过使用TestNG的@Parameters向方法传递正确的参数. 设置方式有两种方法:使用 te ...
- TestNG参数化测试-数据提供程序 @DataProvider方式
在 testng.xml 中指定参数可能会有如下的不足: 1.如果你压根不用 testng.xml. 2.你需要传递复杂的参数,或者从Java中创建参数(复杂对象,对象从属性文件或者数据库中读取的et ...
随机推荐
- jQ的toggle()方法示例
定义和用法toggle() 方法切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法$(selector).toggle(speed,callback,swi ...
- Flex外包团队—开发工具:Flex4.6新特性介绍
在今年初,Adobe发布了其第一个支持移动应用程序开发的Flex SDK和Flash Builder版本.Flex 4.5引入了一组移动优化的组件和移动优化的应用程序框架,而Flash Builder ...
- Python标准库
Python标准库是随Python附带安装的,它包含大量极其有用的模块.熟悉Python标准库是十分重要的,因为如果你熟悉这些库中的模块,那么你的大多数问题都可以简单快捷地使用它们来解决. sys模块 ...
- windows类书的学习心得(转载)
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- source insight 里编辑的时候,每次粘贴后,光标停留在粘贴内容的左面
在source insight 里编辑的时候,每次粘贴后,光标停留在粘贴内容的左面.我想把它设定为 粘贴后,光标移动倒粘贴内容的右面. 该怎么做? 这是个设置问题,按照下面的步骤设定就可以了. Opt ...
- SQL server 学习笔记1
1.查询安装的排序规则选项喝当前的排序规则服务器属性 select * from fn_helpcollations(); 2.查看当前服务器的排序规则 select serverproperty(' ...
- purgeIdleCellConnections: found one to purge conn = 0x1e09f7d0
purgeIdleCellConnections: found one to purge conn = 0x1e09f7d0 你在iOS6下使用3G网络时可能会遇到这条log,不用紧张,这只是苹果的工 ...
- Java方法总结与源码解析(未完待续)
使用StringTokenizer去掉字符串中的空格 public class StringTo { public static void main(String[] args){ String te ...
- PLSQL_性能优化系列11_Oracle Bulk Collect批处理
2014-10-04 Created By BaoXinjian
- DrawTools(画图工具)原始版本
上一篇文章一个优秀的C#开源绘图软件 DrawTools中详细的介绍了DrawTools的几种演化的较高版本的软件的特色与功能. 这篇文章,将介绍一下这款软件的成名版本, 下载地址DrawTool_O ...