TestNg Beginner's Guide--阅后总结之Textng.xml

Textng.xml是TestNG的配置文件,用来定义TestNG中的test suit和test。Textng.xml在test suit中提供了很多不同的选择,包括包,类和依赖测试方法,他也允许我们在一个单一的测试环境中运行多个test,也允许我们在多线程的环境中运行多个test。

1.Textng.xml配置方式:

A.creating a test with classes
执行不同包下的不同的类,Textng.xml脚本如下

<suite name="Class Suite" verbose="1">
<test name="Test">
<classes>
<class name="test.firstpackage.FirstTestClass" />
<class name="test.secondpackage.FirstTestClass" />
<class name="test.thirdpackage.FirstTestClass" />
</classes>
</test>
</suite>

B.creating a test with packages
执行包下的所有类,Textng.xml脚本如下

<suite name="Package Suite" verbose="1">
<test name="Package Test">
<packages>
<package name="test.firstpackage" />
<package name="test.secondpackage" />
</packages>
</test>
</suite>

C.creating a test with methods
执行类下的特定的方法,Textng.xml脚本如下

<suite name="Method Suite" verbose="1">
<test name="Method Test">
<classes>
<class name="test.firstpackage.FirstTestClass">
<methods>
<include name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>

D.creating a test suite with package, class, and test method
在一个test suit中可以一起执行 package, class, 和test method ,Textng.xml脚本如下

<suite name="Combine Suite" verbose="1">
<test name="Combine Test">
<packages>
<package name="test.firstpackage" />
</packages>
<classes>
<class name="test.secondpackage.FirstTestClass" />
<class name="test.thirdpackage.FirstTestClass">
<methods>
<include name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>

E.test suite to include a particular package
执行某个包名包含某个关键词的包,Textng.xml脚本如下

<suite name="Include Package Suite" verbose="1">
<test name="Include Package Test">
<packages>
<package name="test.*">
<include name="test.secondpackage" />
</package>
</packages>
</test>
</suite>

F.test suite to exclude a particular package
排除某个包,Textng.xml脚本如下

<suite name="Exclude Package Suite" verbose="1">
<test name="Exclude Package Test">
<packages>
<package name="test.*">
<exclude name="test.secondpackage" />
</package>
</packages>
</test>
</suite>

G.test suite to exclude a particular method
排除某个特定的方法,Textng.xml脚本如下

<suite name="Exclude Method Suite" verbose="1">
<test name="Exclude Method Test">
<classes>
<class name="test.firstpackage.FirstTestClass">
<methods>
<exclude name="firstTest" />
</methods>
</class>
</classes>
</test>
</suite>

H.using regular expressions for test
使用正则表达式来描述执行的方法,Textng.xml脚本如下

<suite name="Regular Exp Suite" verbose="1">
<test name="Regular Exp Test">
<classes>
<class name="test.regularexppackage.RegularExpClass">
<methods>
<include name=".*Test.*" />
</methods>
</class>
</classes>
</test>
</suite>

2.suite标签中的属性
A.使用 parallel 属性来让测试方法运行在不同的线程中。这个属性可以带有如下这样的值:

<suite name="My suite" parallel="methods" thread-count="5">
<suite name="My suite" parallel="tests" thread-count="5">
<suite name="My suite" parallel="classes" thread-count="5">
<suite name="My suite" parallel="instances" thread-count="5">

parallel="methods": TestNG 会在不同的线程中运行测试方法,除非那些互相依赖的方法。那些相互依赖的方法会运行在同一个线程中,并且遵照其执行顺序。

parallel="tests": TestNG 会在相同的线程中运行相同的<test>标记下的所有方法,但是每个<test>标签中的所有方法会运行在不同的线程中。这样就允许你把所有非线程安全的类分组到同一个<test>标签下,并且使其可以利用TestNG多线程的特性的同时,让这些类运行在相同的线程中。

parallel="classes": TestNG 会在相同线程中相同类中的运行所有的方法,但是每个类都会用不同的线程运行。

parallel="instances": TestNG会在相同线程中相同实例中运行所有的方法,但是两个不同的实例将运行在不同的线程中。

thread-count:允许你为当前的执行指定可以运行的线程数量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 感谢原作者的奉献,原作者博客地址:http://blog.csdn.net/zhu_ai_xin_520/arti...
    狼孩阅读 14,165评论 1 35
  • 因为unittest支持的html报告在作为邮件附加时耗时较长,故将报告扩展支持为unishark框架。 基于un...
    五娃儿阅读 563评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,238评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,826评论 18 399
  • 春节,凛冰城到处张灯结彩,红艳艳的灯笼把这山上终年不化的积雪掩映得宛如炽焰的精灵,让人心头一阵温暖。我站在皇宫...
    尊凰冷月阅读 843评论 1 1