TestNG中group的用法
Posted beifucangqiong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG中group的用法相关的知识,希望对你有一定的参考价值。
TestNG中的组可以从多个类中筛选组属性相同的方法执行。
比如有两个类A和B,A中有1个方法a属于组1,B中有1个方法b也属于组1,那么我们可以通过配置TestNG文件实现把这两个类中都属于1组的方法抽取出来执行。
示例代码
car1
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");
car2
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.xml
<?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输出:
[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中
以上是关于TestNG中group的用法的主要内容,如果未能解决你的问题,请参考以下文章
TestNg依赖配置基础用法(单一方法依赖)------TestNg依赖详解