testng.xml文件结构组成及节点属性说明

testng.xml文件结构:

 

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

  3. <suite name="suitename" junit="false" verbose="3" parallel="false" thread-count="5" configfailurepolicy="<span style="font-family:Arial;"><span style="font-size: 14px; line-height: 26px;">skip</span></span>" annotations="javadoc" time-out="10000" skipfailedinvocationcounts="true" data-provider-thread-count="5" object-factory="classname" allow-return-values="true"> <!-- name参数为必须 -->

  4. <suite-files>

  5. <suite-file path="/path/to/suitefile1"></suite-file> <!-- path参数为必须 -->

  6. <suite-file path="/path/to/suitefile2"></suite-file>

  7. </suite-files>

  8. <parameter name="par1" value="value1"></parameter> <!-- name, value参数为必须 -->

  9. <parameter name="par2" value="value2"></parameter>

  10. <method-selectors>

  11. <method-selector>

  12. <selector-class name="classname" priority="1"></selector-class> <!-- name参数为必须 -->

  13. <script language="java"></script> <!-- language参数为必须 -->

  14. </method-selector>

  15. </method-selectors>

  16. <test name="testename" junit="false" verbose="3" parallel="false" thread-count="5" annotations="javadoc" time-out="10000" enabled="true" skipfailedinvocationcounts="true" preserve-order="true" allow-return-values="true"> <!-- name参数为必须 -->

  17. <parameter name="par1" value="value1"></parameter> <!-- name, value参数为必须 -->

  18. <parameter name="par2" value="value2"></parameter>

  19. <groups>

  20. <define name="xxx"> <!-- name参数为必须 -->

  21. <include name="" description="" invocation-numbers="" /> <!-- name参数为必须 -->

  22. <include name="" description="" invocation-numbers="" />

  23. </define>

  24. <run>

  25. <include name="" /> <!-- name参数为必须 -->

  26. <exclude name="" /> <!-- name参数为必须 -->

  27. </run>

  28. <dependencies>

  29. <group name="" depends-on=""></group> <!-- name,depends-on均为参数为必须 -->

  30. <group name="" depends-on=""></group>

  31. </dependencies>

  32. </groups>

  33. <classes>

  34. <class name="classname"> <!-- name参数为必须 -->

  35. <methods>

  36. <parameter name="par3" value="value3"></parameter>

  37. <include name="" description="" invocation-numbers=""></include>

  38. <exclude name=""></exclude>

  39. </methods>

  40. <methods></methods>

  41. </class>

  42. </classes>

  43. <packages>

  44. <package name="" /> <!-- name参数为必须 -->

  45. <package name="">

  46. <include name="" description="" invocation-numbers=""></include>

  47. <exclude name=""></exclude>

  48. </package>

  49. </packages>

  50. <listeners>

  51. <listener class-name="classname1" /> <!-- name参数为必须 -->

  52. <listener class-name="classname2" />

  53. </listeners>

  54. </test>

  55. <test></test>

  56. </suite>


testng.xml文件节点属性说明:

 

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"

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
testng.xml是TestNG测试框架中的配置文件,用于定义测试套件、测试类和测试方法的执行顺序、参数和其他设置。以下是一个典型的testng.xml文件的示例: ```xml <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" > <suite name="Test Suite" verbose="1"> <test name="Test Case 1"> <parameter name="browser" value="chrome" /> <classes> <class name="com.example.TestClass1" /> </classes> </test> <test name="Test Case 2"> <parameters> <parameter name="username" value="john" /> <parameter name="password" value="secret" /> </parameters> <classes> <class name="com.example.TestClass2" /> </classes> </test> <listeners> <listener class-name="com.example.CustomListener" /> </listeners> </suite> ``` 在这个示例中,testng.xml包含一个suite元素,表示整个测试套件。suite元素中包含了两个test元素,分别代表两个测试用例。每个test元素可以包含一个或多个classes元素,其中定义了要执行的测试类。 通过parameter元素,我们可以为测试方法提供参数值。在示例中,Test Case 1使用了一个名为"browser"的参数,并将其值设置为"chrome"。Test Case 2使用了两个参数:"username"和"password",并分别设置为"john"和"secret"。 listeners元素用于指定自定义的测试监听器。在示例中,我们指定了一个名为"com.example.CustomListener"的监听器类。 这只是testng.xml文件的一个简单示例,可以根据您的需求进行扩展和定制。在运行测试时,您可以使用testng.xml文件来配置测试套件的执行方式和参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值