测试工具之testng xml配置文件
白羽 2019-01-10 来源 :网络 阅读 1672 评论 0

摘要:本文将带你了解测试工具testng xml配置文件,希望本文对大家学测试工具有所帮助。

    本文将带你了解测试工具testng xml配置文件,希望本文对大家学测试工具有所帮助。



   

  简单介绍

  运行TestNG测试脚本有两种方式:一种是直接通过IDE运行(例如使用eclipse中的“Run   TestNG tests”),另一种是从命令行运行(通过使用xml配置文件)。当我们想执行某个包或者某个类中的一部分测试脚本的时候,使用xml配置文件是非常便利的。在xml配置文件里,不仅可以选择某些需要执行的测试脚本,还可以排除某些不需要运行的测试脚本。

  创建testng.xml文件

  创建xml文件很容易,只需要在其中填充一些内容。

  1)首先要声明一个suite的名字,用于描述将要运行的测试脚本集,可以根据自己需要任意命名,最终这个名字会在testng的测试报告中看到。

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

  <suite name="SuiteName"   verbose="1" >

  <test   name="TestName"   >

   

  2)如果选择的测试脚本是基于组的(使用了@Test   (groups={"student"})这样的注解),那么接下来需要声明如何使用这些组:包含或者排除。如果使用了include标签标注某些组,那么在选择的测试脚本中,只有属于那些组的测试脚本会被运行。那些未被选中的测试脚本,或者被选中却不属于某些组的测试脚本都不会被运行。需要注意,一个测试脚本可以属于很多个组,只要有一个组被include标签标注,那么它就会被运行。如果使用了exclude标签标注某些组,那么在选择的脚本中,只有不属于那些组的测试脚本会被运行。如果同时使用了include标签和exclude标签,那么拥有被include标注的组的那些脚本会被运行,拥有被exclude标注的脚本不会被运行。有一个例外是,一个组同时被include和exclude标注了,那么拥有这个组的脚本会被运行。include和exclude标签的使用方式如下:

  <groups>

  <run>

  <include   name = "includedGroupName"   />

  <exclude name =   "excludedGroupName"   />

  </run>

  </groups>

   

  3)选择测试脚本可以从包、类、方法三个层级进行。

  选择一个包

  <packages>

  <package   name = "packageName" />

  </packages>

   

  选择一个类

  <classes>

  <class   name = "className"   />

  </classes>

   

  选择一个方法

  <classes>

  <class   name = "className"   />

  <methods>

  <include   name = "methodName"   />

  </methods>

  </class>

  </classes>

   

  xml文件样例

  1)选择一个包中的全部测试脚本(包含子包)

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

  <suite   name="First suite" verbose="1"   >

  <test name =   "allTestsInAPackage"   >

  <packages>

  <package   name = "whole.path.to.package.*   />

  </packages>

  </test>

  </suite>

   

  2)选择一个类中的全部测试脚本

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

  <suite name="Second suite"   verbose="1" >

  <test name =   "allTestsInAClass"   >

  <classes>

  <class   name="whole.path.to.package.className   />

  </classes>

  </test>

  </suite>

   

  3)选择一个类中的部分测试脚本

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

  <suite name="Third suite"   verbose="1" >

  <test name =   "aFewTestsFromAClass"   >

  <classes>

  <class   name="whole.path.to.package.className >

  <methods>

  <include   name = "firstMethod"   />

  <include name =   "secondMethod" />

  <include   name = "thirdMethod"   />

  </methods>

  </class>

  </classes>

  </test>

  </suite>

   

  4)选择一个包中的某些组

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

  <suite name="Fourth suite"   verbose="1" >

  <test name =   "includedGroupsInAPackage"   >

  <groups>

  <run>

  <include   name = "includedGroup" />

  </run>

  </groups>

  <packages>

  <package   name = "whole.path.to.package.* />

  </packages>

  </test>

  </suite>

   

  5)排除一个包中的某些组

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

  <suite name="Fifth suite"   verbose="1" >

  <test name =   "excludedGroupsInAPackage"   >

  <groups>

  <run>

  <exclude   name = "excludedGroup"   />

  </run>

  </groups>

  <packages>

  <package   name = "whole.path.to.package.*   />

  </packages>

  </test>

  </suite>

   

  在maven的pom.xml文件中配置testng.xml

  需要在pom文件中,指明testng.xml文件的位置。

  maven使用surefire这个插件进行测试,可以执行testng或者Junit脚本。

  语法为   <suiteXmlFile>src/test/resources/testNGFilesFolder/${testNgFileName}.xml</suiteXmlFile>

  <dependencies>

  <dependency>

  <groupId>org.apache.logging.log4j</groupId>

  <artifactId>log4j-api</artifactId>

  <version>2.8</version>

  </dependency>

  </dependencies>

  <build>

  <plugins>

  <plugin>

  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-surefire-plugin</artifactId>

  <version>2.19</version>

  <configuration>

  <suiteXmlFiles>

  <suiteXmlFile>testng.xml</suiteXmlFile>//该文件位于工程根目录时,直接填写名字,其它位置要加上路径。

  </suiteXmlFiles>

  </configuration>

  </plugin>

  </plugins>

  </build>

   

  运行测试脚本

  方法一:在IDE,例如IntellJ   IDEA中,鼠标右击testng.xml文件,选择run即可。

  方法二:进入到项目工程的根目录,使用   mvn clean test -Dtestng.xml 命令,结果如下:

  [INFO]   Scanning for   projects...

  [INFO]

  [INFO]   ------------------------------------------------------------------------

  [INFO]   Building ArtifactIdWang 1.0-SNAPSHOT

  [INFO]   ------------------------------------------------------------------------

  .

  .

  .

  -------------------------------------------------------

  T   E S T   S

  -------------------------------------------------------

  Running   TestSuite

  now start test

  Test   started runningtemplistener1at:1487125608088

  i'm   listenerTest1

  Result   success

  Test started   runningtemplistener2at:1487125608660

  i'm   listenerTest2

  Result   success

  now finish test

  Tests   run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.125 sec - in   TestSuite

  Results :

  Tests   run: 2, Failures: 0, Errors: 0, Skipped: 0

  [INFO]   ------------------------------------------------------------------------

  [INFO]   BUILD SUCCESS

  [INFO]   ------------------------------------------------------------------------

  [INFO]   Total time: 01:13 min

  [INFO] Finished at:   2017-02-15T10:26:51+08:00

  [INFO] Final Memory:   22M/182M

  [INFO] ------------------------------------------------------------------------

   


   
                   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程