testng.xml的格式

[b]简单说明:
[/b]
测试代码中在需要测试的方法前加上注释符,例如:
package com.yiban.test;
public class test2 {
  @Parameters({ "first-name" }) //参数
  @Test(groups={"g1","g2"}) //组名
  public void test001() throws Exception {
    System.out.println("test001");
  }
}

[b] XML文件写法[/b]
<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>


[b]以下详细XML规则[/b]

-结-构-树

suite
--tests
----parameters
----groups
------definitions
------runs
----classes
--parameters



[b]**suite元素[/b]
suite 是testng.xml文档中最上层的元素
< suite (groups?,(listeners|packages|test|parameter|method-selectors|suite-files)*) >

属性: 参数列表(“”中是默认值,CDATA代表字符串)

[table]
|name |suite的名字(他会出现在测试报告中)|
|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 data|
|object-factory |一个继承IObjectFactory的类,被用来实例化测试对象|
|allow-return-values |如果设置true,将会运行测试用例并返回值|
[/table]


< suite
name 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"
>


[b]**suite-files元素[/b]

一个XML文档的列表包含更多的suite描述

< suite-files (suite-file)* >
< suite-file ANY >

参数列表

< suite-file
path CDATA #必填项
>


[b]**Parameters元素[/b]

Parameters 可以在suite或者test级别被定义.
Parameters 定义在test级别时将覆盖sutie级别的同名参数
Parameters 被用来联系java方法参数的实际值,并在这里定义.

< parameter ANY>

参数列表

< parameter
name CDATA #必填项
value CDATA #必填项 >


[b]**method-selectors元素[/b]

方法选择器定义了那些方法要运行,他们必须继承org.testng.IMethodSelector

< method-selectors (method-selector*) >
< method-selector ((selector-class)*|script) >
< selector-class ANY>

参数列表:

< selector-class
name CDATA #必填项
priority CDATA #隐含
>

[b]**script元素[/b]

< script ANY>

参数列表:

< script
language CDATA #必填项
>

[b]
**test元素[/b]

一个test包含参数和classes,另外,你可以定义组(组中组)

< test (method-selectors?,parameter*,groups?,packages?,classes?) >

属性:

[table]
|name |test的名字(他会出现在测试报告中)|
|junit |是否以junit模式运行|
|verbose |在控制台中如何输出,这个设置不影响html版本的测试报告,默认值: suite 级别的verbose|
|parallel |是否使用多线程测试(可能加速测试)|
|thread-count |如果设置了parallel,可以设置线程数|
|annotations |有‘javadoc’的时候寻找,没有的话使用jdk5的注释|
|time-out |在终止method (如果parallel="methods") 或者test (如果parallel="tests")之前设置以毫秒为单位的等待时间|
|enabled |设置是否运行当前test,默认值:true|
|skipfailedinvocationcounts |是否跳过错误的调用|
|prserve-order |如果设置true,classes会按照XML文档中的顺序执行|
|allow-return-values |如果设置true,将会运行测试用例并返回值|
| |
[/table]
属性列表:
< test
name 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"
>


[b]**groups元素[/b]
定义包含在测试中要运行的组(组中组)
< groups (define*,run?,dependencies?) >


[b]**define元素[/b]
< define (include*)>

属性列表
< define
name CDATA #必填项
>


[b]**include元素[/b]
定义组中组
<include ANY>

属性列表
< include
name CDATA #必填项
description CDATA #隐含
invocation-numbers CDATA #隐含>


[b]**exclude元素[/b]
定义排除的组
< exclude ANY>

属性列表
< exclude
name CDATA #必填项
>


[b]**run元素[/b]
定义那些group需要被运行
< run (include?,exclude?)* >


[b]**dependencies元素[/b]

< dependencies (group*)>



[b]**group元素[/b]

< group ANY>

属性列表

< group
name CDATA #必填项
depends-on CDATA #必填项
>


[b]**classes元素[/b]
包含在此次test中的classes列表
< classes (class*) >



[b]**class元素[/b]
< class (methods*) >

属性列表:
< class
name CDATA #必填项 >



[b]**packages元素[/b]
包含在此次test中的packages列表
< packages (package*) >



[b]**package元素[/b]
如果package名字结尾包含.* ,则所有的子包也被包括其中
< package (include?,exclude?)*>

属性列表:
< package
name CDATA #必填项
>



[b]**methods元素[/b]
包含或排除在此次test中的methods列表

< methods (include?,exclude?,parameter?)* >



[b]**listeners元素[/b]
将被传给TestNG的监听列表

< listeners (listener*) >



[b]**listener元素[/b]

< listener ANY>

属性列表:

<listener
class-name CDATA #必填项
>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值