testng.xml文件在Idea自动生成,testng.xml中可以配置需要测试类以及方法,包括一拉,外部参数引入等
TestNG通过设置testng.xml文件能做以下事情
1)创建来源不同包、类、方法的测试套件
2)包括一些选项,例如失败的用例可以重跑。
3)支持使用正则表达式
4)运行把外部参数传入测试方法
5)支持配置多线程的执行环境
下面下一个基本的testng.xml测试指定类
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes">
<test thread-count="10" verbose="2" preserve-order="true" name="Test" parallel="classes">
<classes>
<class name="com.testNg.testNg.Test.TestFirst"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes">
<test thread-count="10" verbose="2" preserve-order="true" name="Test" parallel="classes">
<classe>
<class name="work.WeWorkTest">
<methods>
<include name="testToken"/>
<include name="TestGetToken"/>
<include name="TestgetToken"/>
</methods>
</class>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
suit标签:
thread-count
这个参数是指testNG运行时的线程池的大小。当启用了parallel时生效。
具体的大小可以从xml文件中指定。若不指定,默认为10.启用此参数后可以大幅提高测试用例执行的速度
parallel
parallel=”methods” 按照method级别进行并发,即便是配置了依赖跟顺序的也会用不同的线程运行,但是会按照顺序。
parallel=”tests” 按照xml定义的< test > 来运行。
parallel=”classes” 按照类来并发运行
parallel=”instances” 这个是按照实例来并发运行(这个不常用)
verbose
其实就是日志的冗余级别。 数字越大,表示日志打的越细致。这个如果是要对testng进行重写,或者扩展,做调试的时候还是很有用的。
test标签:
preserve-order属性默认值是true,测试用例是按照<class>标签下声明的测试类顺序执行。
如果preserve-order属性的值设置为false时,测试用例的执行顺序将按照测试类类名的字母顺序执行。
enabled属性默认值是true,当设置为false的时候,该<test>标签下的测试用例不再执行。