`

testng.xml的格式

 
阅读更多
简单说明:

测试代码中在需要测试的方法前加上注释符,例如:
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代表字符串)

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,将会运行测试用例并返回值


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


**suite-files元素

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

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

参数列表

< suite-file
path CDATA #必填项
>


**Parameters元素

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

< parameter ANY>

参数列表

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


**method-selectors元素

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

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

参数列表:

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

**script元素

< script ANY>

参数列表:

< script
language CDATA #必填项
>


**test元素


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

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

属性:

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,将会运行测试用例并返回值
 

属性列表:
< 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"
>


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


**define元素
< define (include*)>

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


**include元素
定义组中组
<include ANY>

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


**exclude元素
定义排除的组
< exclude ANY>

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


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


**dependencies元素

< dependencies (group*)>



**group元素

< group ANY>

属性列表

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


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



**class元素
< class (methods*) >

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



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



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

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



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

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



**listeners元素
将被传给TestNG的监听列表

< listeners (listener*) >



**listener元素

< listener ANY>

属性列表:

<listener
class-name CDATA #必填项
>
分享到:
评论

相关推荐

    testng.rar_maven testng_testng_testng.xml.html

    在压缩包中的文件"testng.xml.html"可能是一个HTML版本的`testng.xml`,方便开发者查看和编辑。这个文件通常会包含测试套件(suite)、测试(test)、类(class)以及方法(method)的结构,以及它们之间的关系。 ...

    IDEA自动生成TestNG的testng.xml的插件方法

    IntelliJ IDEA(简称IDEA)作为一款流行的Java集成开发环境,提供了许多便捷的工具来辅助开发,其中包括自动生成TestNG测试配置文件`testng.xml`的功能。本文将详细介绍如何在IDEA中使用插件来自动创建`testng.xml`...

    org.testng.ecplise_6.10

    4. **数据驱动测试(Data Driven Testing)**:TestNG支持多种数据提供方式,如使用`@Parameters`注解,可以从XML、CSV或其他数据源引入参数,实现数据驱动的测试。 5. **并行测试(Parallel Testing)**:TestNG...

    org.testng.eclipse_6.8.6.20130607_0745.rar

    - **XML配置文件**:允许通过XML文件定义测试结构,方便管理和维护。 - **报告生成**:TestNG自动生成详细的HTML测试报告,清晰展示测试结果。 6. **安装与使用**:将压缩包解压后,通过Eclipse的"Help &gt; Install...

    site_assembly - testng.zip

    3. **site.xml**:这是一个XML文件,描述了插件的元数据,包括插件的版本、描述、作者、依赖关系等信息。在安装插件时,Eclipse会解析这个文件来了解如何正确地安装和配置插件。 4. **features**:这个目录可能包含...

    gavroche.zip

    自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml自动生成testng.xml...

    Testng JAR包及教程

    TestNG是一款强大的测试框架,专为Java开发人员设计,提供了丰富的功能来支持单元测试、集成测试以及端到端测试。它的出现是对JUnit的一种扩展,增加了许多高级特性,如并发测试、参数化测试、依赖管理以及更详细的...

    arquillian-testng.jar.zip

    这通常涉及在pom.xml文件中添加相关的依赖,包括Arquillian Core、TestNG和特定的容器适配器。例如: ```xml &lt;groupId&gt;org.arquillian.universe &lt;artifactId&gt;arquillian-testng-impl 版本号 &lt;scope&gt;test ...

    TESTNG.ppt

    6. 创建测试套件:通过XML文件(eclipse-testng.xml)定义和控制测试套件的元数据和执行顺序。 7. 错误处理:如果依赖的测试失败,TestNG将跳过后续依赖的测试,并且可以只重跑失败的测试。 8. 执行次数控制:可以设定...

    testng-xslt-1.1.2.zip

    在TestNG的上下文中,XSLT可以用来将TestNG生成的XML测试结果转换成HTML、PDF或其他格式,使得测试报告更具可读性和可分析性。例如,开发团队可能需要一个简洁的HTML报告,以便于快速浏览测试状态,或者需要一个详细...

    testng 的xml文档类型定义文件

    testng使用的testng.xml文档的文档类型定义文件,可用于核对xml文件的文档结构及合法元素

    idea_testng+maven+selenium.docx

    读者可以右键选择Create testing xml,创建一个新的TestNG.xml文件。 创建测试类 读者需要创建一个测试类,该类用于执行测试用例。读者可以编写测试方法,使用TestNG注解来标记测试方法。 运行TestNG.xml文件 ...

    TestNG重跑配置.rar

    TestNG提供了这样的功能,通过在`testng.xml`配置文件中进行设定,我们可以定义一个或者多个测试套件,并设置特定的属性来实现失败重跑。 `testng.xml`是TestNG测试的配置文件,其中包含了测试类、方法的组织结构,...

    eclipse-testng离线包

    11. **Maven集成**:对于使用Maven构建的项目,可以在pom.xml中添加TestNG的依赖,并通过maven-surefire-plugin插件配置执行TestNG测试。 12. **持续集成**:TestNG与Jenkins、Travis CI等持续集成工具配合良好,可...

    testng-test-classpath-property-issue-1:一个简单的项目来演示 testng.test.classpath 属性问题

    此存储库仅用于演示testng.test.classpath属性问题。 问题 以下是中testng.test.classpath的... 运行测试: java -cp $CLASSPATH:out org.testng.TestNG testng.xml 使用testng.test.classpath属性重新运行测试: jav

    TestNG.pdf

    - **testng.xml**:这是 TestNG 的配置文件,用于定义测试套件、测试类和测试方法的运行方式。 - **命令行运行**:可以直接通过命令行工具来运行 TestNG 测试。 - **Eclipse 插件**:TestNG 提供了官方的 Eclipse ...

    TestNG.rar

    ant+eclipse+testng实例代码。包含了配置testng.xml和ant的build.xml文件。导入到eclipse中可以直接运行。前提是eclipse中已经安装了testng插件和ant插件。相关的jar包需要引用进来。

    TestNG安装包

    C:\TestNG_WORKSPACE&gt;java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml 验证输出 =============================================== Suite1 Total tests run: 1, Failures: 0, Skips: 0 ============...

    TestNG.rar_Framework

    10. **XML配置文件**:TestNG可以通过XML配置文件灵活地定义测试结构,包括测试套件、测试类和测试方法的顺序。 11. **监听器和回调**:TestNG允许自定义监听器,以便在测试生命周期的不同阶段执行自定义逻辑。 12...

    测试框架TestNG一站全解.docx

    此外,TestNG 还支持通过配置文件 `testng.xml` 来组织和控制测试执行。在 `testng.xml` 文件中,我们可以定义测试套件(suite)、测试(test)和要包含的测试类及其方法: ```xml &lt;!DOCTYPE suite SYSTEM ...

Global site tag (gtag.js) - Google Analytics