网上看到一篇整理的非常详细的xml文件详解,分享一下:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
3 <!--suite(测试套件)为根路径,仅允许出现1次,是多个test(测试用例)的集合,以下为各属性含义及取值
4 @name 必填,标记suite的名称
5 @junit 选填,是否以junit模式运行,可选值(true|false) 默认值"false"
6 @verbose 选填,命令行信息打印等级(与测报内容无关),可在测试代码注释中配置,可选值(1|2|3|4|5)
7 @parallel 选填,是否多线程并发运行测试,可选值(false | methods | tests | classes | instances),默认 "false"
8 @thread-count 选填,填写值为正整数,当为并发执行时的线程池数量,默认为"5"
9 @configfailurepolicy 一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip
10 @annotations="javadoc" 获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk注解
11 @time-out 为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
12 @skipfailedinvocationcounts 是否跳过失败的调用,可选值(true | false),默认"false"
13 @data-provider-thread-count 并发执行时data-provider的线程池数量,默认为"10"
14 @object-factory 一个实现IObjectFactory接口的类,用来实例测试对象
15 @allow-return-values="true" 是否允许返回函数值,可选值(true | false),默认"false"
16 @preserve-order:顺序执行开关,可选值(true | false) "true"
17 @group-by-instances:是否按实例分组,可选值(true | false) "false"
18 @guice-stage 支持使用JSR-330的?@Inject注解?来配置运行时提供的实例
19 @parent-module 和Guice框架有关,只运行一次,创建一个parent injector给所有guice injectors
20 -->
21 <suite name="suitename" junit="false" verbose="3" parallel="false" thread-count="5" configfailurepolicy="skip"
22 annotations="javadoc" time-out="10000" skipfailedinvocationcounts="true" data-provider-thread-count="5"
23 object-factory="classname" allow-return-values="true" preserve-order="true" group-by-instances="false">
24
25 <!--可以执行多个suite,@path 必填,欲引用的suitefile的绝对路径-->
26 <suite-files>
27 <suite-file path="/path/to/suitefile1"></suite-file>
28 </suite-files>
29 <!--全局参数,@name和@value必填,分别为参数名和参数值-->
30 <parameter name="par1" value="value1"></parameter>
31 <parameter name="par2" value="value2"></parameter>
32
33 <!--方法选择器,在suite/test中增加需要额外执行的类(根据父标签而定),及安排执行优先级-->
34 <method-selectors>
35 <method-selector>
36 <!--
37 @name 必填
38 @priority 选填
39 -->
40 <selector-class name="classname" priority="1"></selector-class>
41 <!--
42 @language 必填
43 -->
44 <script language="java"></script>
45 </method-selector>
46 </method-selectors>
47
48 <!--test定义一次测试执行,以下为各属性含义及取值
49 @name:必填,test的名字,测试报告中会有体现
50 @junit:选填,是否以Junit模式运行,可选值(true | false),默认"false"
51 @verbose:选填,命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5)
52 @parallel:选填,是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
53 @thread-count:选填,当为并发执行时的线程池数量,默认为"5"
54 @annotations:选填,获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk5注解
55 @time-out:选填,为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
56 @enabled:选填,设置当前test是否生效,可选值(true | false),默认"true"
57 @skipfailedinvocationcounts:选填,是否跳过失败的调用,可选值(true | false),默认"false"
58 @preserve-order:选填,顺序执行开关,可选值(true | false) "true"
59 @group-by-instances:选填,是否按实例分组,可选值(true | false) "false"
60 @allow-return-values:选填,是否允许返回函数值,可选值(true | false),默认"false"
61 -->
62 <test name="testename" junit="false" verbose="3" parallel="false" thread-count="5" annotations="javadoc"
63 time-out="10000" enabled="true" skipfailedinvocationcounts="true" preserve-order="true"
64 allow-return-values="true">
65 <!--局部参数,@name和@value必填,分别为参数名和参数值,如果参数名与全局参数一致,则覆盖全局参数取值-->
66 <parameter name="par1" value="value1"></