好比有两个类A和B,A中有1个方法a属于组1,B中有1个方法b也属于组1,那么咱们能够经过配置TestNG文件实现把这两个类中都属于1组的方法抽取出来执行。java
car1ui
package ngtest; import org.testng.annotations.Test; public class Car1 { @Test(groups={"driver"})//定义该方法属于driver组 public void driverWork(){ System.out.println("car1's driver is driving"); } @Test(groups={"boss"})//定义该方法属于boss组 public void bossWork(){ System.out.println("car1's boss is talking"); } }
car2spa
package ngtest; import org.testng.annotations.Test; public class Car2 { @Test(groups={"driver"})//定义该方法属于driver组 public void driverWork(){ System.out.println("car2's driver is driving"); } @Test(groups={"boss"})//定义该方法属于boss组 public void bossWork(){ System.out.println("car2's boss is talking"); } }
配置文件testng.xmlcode
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Suite"> <groups> <run> <include name="driver"/><!--筛选driver组的方法来执行--> </run> </groups> <test name="Test"> <classes> <class name="ngtest.Car1"/> <class name="ngtest.Car2"/> </classes> </test> </suite>
右键点击testng.xml,选择run as testNG suite,console输出:xml
[TestNG] Running: D:\workspace\tester\testng.xml car1's driver is driving car2's driver is driving =============================================== Suite Total tests run: 2, Failures: 0, Skips: 0 ===============================================
经过上面的运行结果能够看出,配置文件中配置了两个类Car1和Car2,经过groups标签选择了运行driver分组,因此两个类中属于该分组的方法获得了执行。
额外知识:在java代码中,@Test(groups={"driver"})能够在大括号里指定多个组,中间用逗号分开就行。在testng.xml中