TestNG Java自动化测试框架——分组测试

 

TestNG Java自动化测试框架——分组测试

文章插图
 
【TestNG Java自动化测试框架——分组测试】我们在测试时 , 可能会遇到以下几种测试分组的场景:
  • 一个测试类当中有多个测试方法 , 只想执行其中的几个相关的测试方法 。
  • 当几个相关的方法依赖相同的 setUp、tearDown操作 。
  • 当某个方法依赖几个相关的方法时 , 如几个相关的方法执行通过后 , 才执行该方法 。
我们可以通过设置 测试方法分组 的方式来解决上述问题 。
分组测试是TestNG中的一个新的创新功能 , 它在JUnit框架中是不存在的 。在文中 , 我们将演示如何在TestNG中进行分组测试 。
场景一:一个测试类当中有多个测试方法 , 只想执行其中的几个相关的测试方法 。代码示例如下 , 我们将TestDemo测试类的四个方法 , 通过@Test(groups = "") 方式 , 分成了两个组 , 分别为apiTest、databaseTest 。
package framework.parse;import org.testng.annotations.AfterGroups;import org.testng.annotations.BeforeGroups;import org.testng.annotations.Test;public class TestDemo {@Test(groups = "apiTest")public void runApi1() {System.out.println("runApi1()");}@Test(groups = "apiTest")public void runApi2() {System.out.println("runApi2()1");}@Test(groups = "databaseTest")public void testOracle() {System.out.println("testOracle()");}@Test(groups = "databaseTest")public void testMySQL() {System.out.println("testMySQL");}}通过testng.xml文件进行运行配置管理 , 如下 , 我们仅运行framework.parse.TestDemo测试类中的databaseTest分组 。
<?xml version="1.0" encoding="UTF-8"?><suite name="TestSuite"><test name="testDemo"><groups><run><include name="databaseTest" /></run></groups><classes><class name="framework.parse.TestDemo" /></classes></test></suite>运行结果如下:
Run testMySqlRun testOracle===============================================TestSuiteTotal tests run: 2, Passes: 2, Failures: 0, Skips: 0===============================================


    推荐阅读