• testNG xml文件详解


     网上看到一篇整理的非常详细的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"></parameter>
     67         <parameter name="par2" value="value2"></parameter>
     68         <!--搭配class使用,执行class内指定组-->
     69         <groups>
     70             <!--定义执行组名,在run中使用
     71                 @name 必填,组中组的名称
     72             -->
     73             <define name="xxx">
     74                 <!--定义包含的测试组,测试方法属于哪个测试组在测试代码注释中定义。
     75                     @name 必填,需要包含进组中组的组名
     76                     @description 选填,关于组的描述
     77                     @invocation-numbers 选填,执行次序或者执行次数——TODO
     78                     -->
     79                 <include name="" description="" invocation-numbers=""/>
     80                 <include name="" description="" invocation-numbers=""/>
     81             </define>
     82             <!--运行组中组的配置-->
     83             <run>
     84                 <!--执行指定的组中组,@name必填,与define name一致-->
     85                 <include name=""/>
     86                 <!--排除指定的组中组,@name必填,与define name一致-->
     87                 <exclude name=""/>
     88             </run>
     89             <!--组中组的依赖配置-->
     90             <dependencies>
     91                 <!--配置依赖
     92                     @name 必填,需要依赖其他组的组名,define中设置
     93                     @depends-on 必填,被依赖的组名,define中设置,可以有多个,用空格隔开
     94                     -->
     95                 <group name="" depends-on=""></group>
     96                 <group name="" depends-on=""></group>
     97             </dependencies>
     98         </groups>
     99         <!--配置要执行的类,是多个class的集合-->
    100         <classes>
    101             <!--局部参数,@name和@value必填,分别为参数名和参数值,如果参数名与全局参数和父标签的局部参数一致,则覆盖全局参数和父标签的局部参数取值-->
    102             <parameter name="par1" value="value1"></parameter>
    103             <parameter name="par2" value="value2"></parameter>
    104             <!--多个methods的集合,@name 必填,对应class的名称,如com.example.autotest.testcase-->
    105             <class name="classname">
    106                 <!--要执行的方法,如为空,则执行整个class内包含的全部方法-->
    107                 <methods>
    108                     <!--局部参数,@name和@value必填,分别为参数名和参数值,如果参数名与全局参数和父标签的局部参数一致,则覆盖全局参数和父标签的局部参数取值-->
    109                     <parameter name="par3" value="value3"></parameter>
    110                     <!--类内要执行的测试方法名,在测试代码注释中配置,如设置inclde,则只执行该方法,其他跳过
    111                         @name 必填,执行方法名
    112                         @description 选填,方法描述
    113                         @invocation-number 选填,宣发执行顺序或执行次数——TODO
    114                         -->
    115                     <include name="" description="" invocation-numbers=""></include>
    116                     <!--除了该方法外,类内其他方法都执行,@name 必填,不执行的方法名-->
    117                     <exclude name=""></exclude>
    118                 </methods>
    119                 <methods></methods>
    120             </class>
    121         </classes>
    122         <!--可以执行指定包下面所有类,是多个package的汇聚-->
    123         <packages>
    124             <!--配置要执行的包,@name 必填,要执行的package名,如com.example.autotest-->
    125             <package name="">
    126                 <!--包内要执行的测试方法名,在测试代码注释中配置,如设置inclde,则只执行该方法,其他跳过
    127                     @name 必填,执行方法名
    128                     @description 选填,方法描述
    129                     @invocation-number 选填,宣发执行顺序或执行次数——TODO
    130                     -->
    131                 <include name="" description="" invocation-numbers=""></include>
    132                 <!--除了该方法外,包内其他方法都执行,name 必填,不执行的方法名-->
    133                 <exclude name=""></exclude>
    134             </package>
    135         </packages>
    136     </test>
    137     <!--设置监听的类名,可设置多个,class-name 必填,类名,如com.example.autotest.Listener-->
    138     <listeners>
    139         <listener class-name="classname1"/>
    140         <listener class-name="classname2"/>
    141     </listeners>
    142 </suite>

    转载自 https://testerhome.com/topics/10093?locale=en 发表于 TesterHome

  • 相关阅读:
    Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis | 附实践清单
    laravel生命周期
    日志写入
    商城表设计
    10个你不一定知道的PHP内置函数
    PHP函数详解:call_user_func()使用方法
    Dingo与JWT的使用
    商城-会员与用户的数据表设计
    MVVM模式
    vue面试题
  • 原文地址:https://www.cnblogs.com/zddwork/p/11433418.html
Copyright © 2020-2023  润新知