1.who
1.首先在插件中下载Create TestNG XML并安装
2.右击工程选择Create TestNG XML
下面是最初创建xml文件时的xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="2" preserve-order="true" name="/Users/xx/Downloads/learntestNG">
<classes/>
</test>
</suite>
2.what
<suite>
是testng.xml
的根标记。 它描述了一个测试套件,它又由几个<test>
部分组成。
下表列出了<suite>
接受的所有定义的合法属性。
属性 | 描述 |
name | 套件的名称,这是一个强制属性。 |
verbose | 运行的级别或详细程度。 |
parallel | TestNG是否运行不同的线程来运行这个套件。 |
thread-count | 如果启用并行模式(忽略其他方式),则要使用的线程数。 |
annotations | 在测试中使用的注释类型。 |
time-out | 在本测试中的所有测试方法上使用的默认超时。 |
3.how
1.简单用法,在class中指定要运行的测试类,一般是包名+类名
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="1" preserve-order="true" name="/Users/xx/Downloads/learntestNG">
<classes>
<class name="TestDataProvider"></class>
<class name="TestIngore"></class>
</classes>
</test>
</suite>
2.指定包名称而不是类名称,运行包下面所有的测试类
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="1" preserve-order="true" name="test">
<packages>
<package name="cn.testNG.*"/>
</packages>
</test>
</suite>
3.指定或者排除某个类下面的方法
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="1" preserve-order="true" name="test">
<classes>
<class name="cn.testNG.TestTimeOut"/>
<methods>
<exclude name="testTimeOut" />
</methods>
</classes>
</test>
</suite>
4.指定要包括或排除某个分组
注意分组指的是每个具体的测试case上方加入@Test(groups = "testIngore")
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="All Test Suite">
<test verbose="1" preserve-order="true" name="test">
<groups>
<run>
<exclude name="testIngore" />
<include name="testIngore1" />
</run>
</groups>
<classes>
<class name="cn.testNG.TestIngore" />
</classes>
</test>
</suite>