TestNG.XML初级指南
来源:互联网 发布:淘宝卖家评分怎么算的 编辑:程序博客网 时间:2024/05/29 11:42
简单说明:
测试代码中在需要测试的方法前加上注释符,例如:
package com.yiban.test;
public class test2 { @Parameters({ "first-name" }) //参数 @Test(groups={"g1","g2"}) //组名 public void test001() throws Exception { System.out.println("test001"); }}
XML文件写法
<test name="xxxx"> <!-- 参数定义的方法 --> <parameter name="first-name" value="Cedric"/> <!-- groups的用法,前提是需要存在classes的组,否则所有方法不被运行 --> <groups> <!-- 定义组中组的方法 --> <define name="groups_name"> <include name="group1"/> <include name="group2"/> </define> <run> <!-- 此处用组名来区别 --> <inclue name="groups_name" /> <exclue name="groups_name" /> </run> </groups> <!-- classes的用法,classes中包含类名,类名底下可以包含方法名或排除方法名 --> <classes> <class name="class1"> <methods> <!-- 此处用方法名来区别 --> <inclue name="method_name" /> <exclue name="method_name" /> </methods> </class> </classes></test>
以下详细XML规则
-结-构-树
suite
--tests
----parameters
----groups
------definitions
------runs
----classes
--parameters
**suite元素
suite 是testng.xml文档中最上层的元素
< suite (groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*) >
属性: 参数列表(“”中是默认值,CDATA代表字符串)
namesuite的名字(他会出现在测试报告中)junit是否以junit模式运行verbose在控制台中如何输出,这个设置不影响html版本的测试报告parallel是否使用多线程测试(可能加速测试)configfailurepolicy是否在运行失败了一次后继续尝试或跳过 thread-count 如果设置了parallel,可以设置线程数 annotations 有‘javadoc’的时候寻找,没有的话使用jdk5的注释 time-out 在终止method (如果parallel="methods") 或者test (如果parallel="tests")之前设置以毫秒为单位的等待时间 skipfailedinvocationcounts 是否跳过失败的调用data-provider-thread-count提供一个整数线程池的范围为了使用parallel dataobject-factory一个继承IObjectFactory的类,被用来实例化测试对象allow-return-values如果设置true,将会运行测试用例并返回值< suitename CDATA #必填项junit (true | false) "false"verbose CDATA #隐含parallel (false | methods | tests | classes | instances) "false"configfailurepolicy (skip | continue) "skip"thread-count CDATA "5"annotations CDATA #隐含time-out CDATA #隐含skipfailedinvocationcounts (true | false) "false"data-provider-thread-count CDATA "10"object-factory CDATA #隐含group-by-instances (true | false) "false"preserve-order (true | false) "true"allow-return-values (true | false) "false">
**suite-files元素
一个XML文档的列表包含更多的suite描述
< suite-files (suite-file)* >< suite-file ANY >
参数列表
< suite-filepath CDATA #必填项>
**Parameters元素
Parameters 可以在suite或者test级别被定义.
Parameters 定义在test级别时将覆盖sutie级别的同名参数
Parameters 被用来联系java方法参数的实际值,并在这里定义.
< parameter ANY>
参数列表
< parametername CDATA #必填项value CDATA #必填项 >
**method-selectors元素
方法选择器定义了那些方法要运行,他们必须继承org.testng.IMethodSelector
< method-selectors (method-selector*) >< method-selector ((selector-class)*|script) >< selector-class ANY>
参数列表:
< selector-classname CDATA #必填项priority CDATA #隐含>
**script元素
< script ANY>
参数列表:
< scriptlanguage CDATA #必填项>
**test元素
一个test包含参数和classes,另外,你可以定义组(组中组)
< test (method-selectors?,parameter*,groups?,packages?,classes?) >
属性:
nametest的名字(他会出现在测试报告中)junit是否以junit模式运行verbose在控制台中如何输出,这个设置不影响html版本的测试报告,默认值: suite 级别的verboseparallel是否使用多线程测试(可能加速测试)thread-count 如果设置了parallel,可以设置线程数annotations 有‘javadoc’的时候寻找,没有的话使用jdk5的注释time-out 在终止method (如果parallel="methods") 或者test (如果parallel="tests")之前设置以毫秒为单位的等待时间enabled 设置是否运行当前test,默认值:trueskipfailedinvocationcounts 是否跳过错误的调用prserve-order 如果设置true,classes会按照XML文档中的顺序执行allow-return-values 如果设置true,将会运行测试用例并返回值
属性列表:
< testname CDATA #必填项junit (true | false) "false"verbose CDATA #隐含parallel CDATA #隐含thread-count CDATA #隐含annotations CDATA #隐含time-out CDATA #隐含enabled CDATA #隐含skipfailedinvocationcounts (true | false) "false"preserve-order (true | false) "true"group-by-instances (true | false) "false"allow-return-values (true | false) "false">
**groups元素
定义包含在测试中要运行的组(组中组)
< groups (define*,run?,dependencies?) >
**define元素
< define (include*)>
属性列表
< definename CDATA #必填项>
**include元素
定义组中组
<include ANY>
属性列表
< includename CDATA #必填项description CDATA #隐含invocation-numbers CDATA #隐含>
**exclude元素
定义排除的组
< exclude ANY>
属性列表
< excludename CDATA #必填项>
**run元素
定义那些group需要被运行
< run (include?,exclude?)* >
**dependencies元素
< dependencies (group*)>
**group元素
< group ANY>
属性列表
< groupname CDATA #必填项depends-on CDATA #必填项>
**classes元素
包含在此次test中的classes列表
< classes (class*) >
**class元素
< class (methods*) >
属性列表:
< classname CDATA #必填项 >
**packages元素
包含在此次test中的packages列表
< packages (package*) >
**package元素
如果package名字结尾包含.* ,则所有的子包也被包括其中
< package (include?,exclude?)*>
属性列表:
< packagename CDATA #必填项 >
**methods元素
包含或排除在此次test中的methods列表
< methods (include?,exclude?,parameter?)* >
**listeners元素
将被传给TestNG的监听列表
< listeners (listener*) >
**listener元素
< listener ANY>
属性列表:
<listenerclass-name CDATA #必填项>
- TestNG.XML初级指南
- TestNG.XML初级指南
- TestNG指南3-testng.xml
- TestNG指南
- TestNG指南
- TestNG配置testng.xml
- testng xml
- TestNG指南4-运行TestNG
- testNG测试配置文件testng.xml
- TestNG指南1-入门
- TestNG指南2-注解
- TestNG入门指南
- 【转载】TestNG 简易指南
- TestNG入门指南
- testng+reportng,运行xml
- TestNG批量执行 XML
- testng.xml文件结构
- testng.xml文件结构
- Go实战--golang中OAuth2.0的使用(使用google账号进行登陆验证)
- android opencv通过Camera2实现的JavaCamera2View
- 是用pthread_exit函数时注意的问题
- 科普:关于屏幕的各种性能参数
- 深度解析阿里云存储
- TestNG.XML初级指南
- icheck 全选 取消全选
- C#初级篇数组的用法
- HTML页面自动跳转的五种实现方法
- kotlin相关学习资源
- 实现远程服务器的Service Broker
- 十五,Actor和并发
- linux 深入探讨相关
- ViewPager中复用View导致在某些自定义动画下会有问题的bug。