TestNG的XML配置说明
Posted ITester测试集中营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG的XML配置说明相关的知识,希望对你有一定的参考价值。
Test.xml是TestNG框架最终的组成部分,可以更方便的管理和执行测试用例,满足各种测试场景的需要,常见的测试套件组合有以下几种方式
方法一:指定不同的组,执行用例
<suite name="登陆用例级" verbose="1" preserve-order="true" parallel="false">
<test name="正常流程"> <!-- name参数为必须 -->
<classes>
<class name="com.testng.cases.JuZiCase"> <!-- name参数为必须 -->
<groups>
<run>
<include name="group01"/>
</run>
</groups>
</class>
</classes>
</test>
<test name="按组执行">
<groups>
<run>
<include name="group2" />
</run>
</groups>
<classes>
<class name="sample.testng.TestNGGroupsTest1" />
<class name="com.testng.cases.JuZiCase01" />
</classes>
</test>
<listeners>
<listener class-name="com.testng.config.ExtentTestNGIReporterListener" /> <!-- 监听生成测试报告 -->
</listeners>
</suite>
方法二:指定测试类和方法,执行用例
<suite name="登陆用例级" verbose="1" preserve-order="true" parallel="false">
<test name="异常流程"> <!-- name参数为必须 -->
<classes>
<class name="com.testng.cases.JuZiCase"> <!-- name参数为必须 -->
<methods name="失败的">
<include name="testFail"></include> <!-- 包含的用例 -->
<exclude name="funtest"></exclude><!-- 不包含的用例 -->
</methods>
</class>
</classes>
</test>
</suite>
方法三:通过配置文件传递参数,执行用例
@Test
@Parameters("test1")
public void ParaTest(String test1){
System.out.println("This is " + test1);
}
<suite name="接口测试"><!-- name参数为必须 -->
<parameter name="test1" value="Tank" />
<parameter name="test1" value="OK" />
<test name="test12">
<classes>
<class name="com.testng.cases.JuZiCase" />
</classes>
</test>
</suite>
方法四:多个testng.xml文件,执行用例
<suite name="测试1">
<!--reportng测试报告-->
<listeners >
<listener class-name="com.testng.config.ExtentTestNGIReporterListener" /> <!-- 监听生成测试报告 -->
</listeners>
<suite-files >
<!--模块1-->
<suite-file path="xx.xml"></suite-file>
<!--模块2-->
<suite-file path="xx.xml"></suite-file>
</suite-files>
</suite>
suite属性说明:
@name: suite的名称,必须参数
@junit:是否以Junit模式运行,可选值(true | false),默认"false"
@verbose:命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5)
@parallel:是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
@thread-count:当为并发执行时的线程池数量,默认为"5"
@configfailurepolicy:一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip"
@annotations:获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk注解
@time-out:为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@data-provider-thread-count:并发执行时data-provider的线程池数量,默认为"10"
@object-factory:一个实现IObjectFactory接口的类,用来实例测试对象
@allow-return-values:是否允许返回函数值,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"
test属性说明:
@name:test的名字,必选参数;测试报告中会有体现
@junit:是否以Junit模式运行,可选值(true | false),默认"false"
@verbose:命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5)
@parallel:是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
@thread-count:当为并发执行时的线程池数量,默认为"5"
@annotations:获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk5注解
@time-out:为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
@enabled:设置当前test是否生效,可选值(true | false),默认"true"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"
@allow-return-values:是否允许返回函数值,可选值(true | false),默认"false"
以上是关于TestNG的XML配置说明的主要内容,如果未能解决你的问题,请参考以下文章
TestNG基础教程 - IntelliJ IDEA中配置TestNG.xml, 查看TestNG Report
testng教程之testng.xml的配置和使用,以及参数传递