TestNG提供了很多执行方式,下面做简单介绍。
1.XML指明测试类,按照类名执行,其中可以指定包名,也可指定无包名:
带包名,运行ParameterSample类和ParameterTest类
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite1" verbose="1" > <test name="Regression1"> <classes> <class name="test.sample.ParameterSample"/> <class name="test.sample.ParameterTest"/> </classes> </test> </suite>
不带包名,不建议使用
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite1" verbose="1" > <test name="Nopackage" > <classes> <class name="NoPackageTest" /> </classes> </test> </suite>
2.XML指定包名,执行包内的所有测试类
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite1" verbose="1" > <test name="Regression1" > <packages> <package name="test.sample" /> </packages> </test> </suite>
3.XML指定组,需要在代码里面设定组
代码:
@Test(groups={"g2"}) public void test4() { System.out.println("this is test4"); } @Test(groups={"g1"}) public void test5() { System.out.println("this is test5"); } @Test(groups={"g1"}) public void test10() { System.out.println("this is test10"); }
XML:
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite"> <test name="Test"> <groups> <run> <exclude name="g2" /> <include name="g1" /> </run> </groups> <classes> <class name="test.testng.TestOrder"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
4.XML指定组中组
代码:
@Test(groups={"g2"}) public void test4() { System.out.println("this is test4"); } @Test(groups={"g1"}) public void test5() { System.out.println("this is test5"); } @Test(groups={"g1","g3"}) public void test10() { System.out.println("this is test10"); }
XML:
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite" parallel="true"> <test name="Test"> <groups> <define name="fun"> <include name="g3"/> </define> <define name="all"> <include name="g.*" /> </define> <run> <include name="all" /> </run> </groups> <classes> <class name="test.testng.TestOrder"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
print:
this is test10
this is test5
this is test4
原文:http://www.cnblogs.com/qiaoyeye/p/5039881.html