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的[email protected]注解?来配置运行时提供的实例
 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

原文地址:https://www.cnblogs.com/peachh/p/12013975.html

时间: 2024-08-12 08:40:25

testNG xml文件详解的相关文章

史上最全的maven的pom.xml文件详解

史上最全的maven的pom.xml文件详解 http://www.cnblogs.com/hafiz/p/5360195.html <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 h

web.xml文件详解

web.xml文件详解 前言:一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件. 1.WEB工程加载web.xml过程 经过个人测试,WEB工程加载顺序与元素节点在文件中的配置顺序无关.即不会因为 filter 写在 listener 的前面而会先加载 filter.WEB容器的加载顺序是:S

AndroidManifest.xml文件详解(uses-permission)

语法(SYNTAX): <uses-permissionandroid:name="string"/> 被包含于(CONTAINED IN): <manifest> 说明(DESCRIPTION): 这个属性用于给应用程序授予正确的操作的所必须的权限.这些权限是在应用程序安装时被授予的,而不是在运行时授予的. 有关更多的权限信息,请看<AndroidManifest.xml文件详解(三)>文档中“权限”介绍(http://blog.csdn.net/

[转]AndroidManifest.xml文件详解

转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml文件详解(一) 每个应用程序在它的根目录中都必须要有一个AndroidManifest.xml文件.这个清单把应用程序的基本信息提交给Android系统,在应用程序的代码能够运行之前,这个信息系统必须建立.以下是清单文件要做的一些事情: 1. 用Java包给应用程序命名.这个包名是应用程序的唯一标识

Maven pom.xml文件详解

Maven pom.xml文件详解 一.简介 POM全称是Project Object Model,即项目对象模型. pom.xml是maven的项目描述文件,它类似与antx的project.xml文件. pom.xml文件以xml的 形式描述项目的信息,包括项目名称.版本.项目id.项目的依赖关系.编译环境.持续集成.项目团队.贡献管理.生成报表等等.总之,它包含了所有的项目 信息. <project xmlns="http://maven.apache.org/POM/4.0.0&q

[Maven]Settings.xml文件详解

概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. l  settings.xml文件是干什么的,为什么要配置它呢? 从settings.xml的文件名就可以看出,它是用来设置Maven参数的配置文件.并且,settings.xml是Maven的全局配置文件.而pom.xml文件是所在项目的局部配置. Settings.xml中包含类似本地仓储位置.修改远程仓储服务器.认证信息等配置. settings

XML文件详解以及解析

一.xml基础详解: 1.概述: xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带者.xml是当前处理结构化文档信息中相当给力的技术,xml有助于在服务器之间穿梭结构化数据,这使得开发人员更加得心应手的控制数据的存储和传输. Xml用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.Xml是标准通用标记语言(S

server.xml文件详解

一.server.xml文件介绍 1.server.xml作用 Server.xml配置文件用于对整个容器进行相关的配置. 2.server.xml文件的配置元素列表 <Server>:是整个配置文件的根元素.表示整个Catalina容器. <Connector>:连接器,负责接收客户的请求,以及向客户端回送响应的消息. <Engine>:为特定的Service处理所有的请示.每个Service只能包含一个Engine元素,它负责接收和处理此Service所有的连接器收

[转] web.xml文件详解

转自:http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html 前言:一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web.xml并不是必须的,一个web工程可以没有web.xml文件. 1.WEB工程加载web.xml过程 经过个人测试,WEB工程加载顺序与元素节点在文件中的配置顺序无