测试套件是指在多个测试用例的集合。在testNG中测试套件是定义在XML文件执行的标签<suite>。
在testNG中,创建testng.xml(文件名可以根据自己喜欢命名,常命名为testng.xml),在xml中可以配置测试运行的依耐项、排除项、测试方法 和测试类、以及优先级等。
步骤:
一、在idea中创建testng.xml, resources右键new->file中创建test.xml文件
二、配置testng.xml
在xml中Suite标签<suite>,其下是Test标签<test>,然后是Classes标签<classes> class标签<class>。suite和test标签必须提供name属性值,具体值可以根据自己需求随意命名,class标签name需要正确的使用需要执行测试的包路径下的正确的类名。
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <suite name="test"> 3 <test name="login"> 4 <!-- 配置需要运行的class--> 5 <classes> 6 <class name="com.course.testng.suite.LoginTest"/> 7 <class name="com.course.testng.suite.SuiteConfig"/> 8 9 </classes> 10 </test> 11 <test name="pay"> 12 <!-- 配置需要运行的class--> 13 <classes> 14 <class name="com.course.testng.suite.SuiteConfig"/> 15 <class name="com.course.testng.suite.PayTest"/> 16 </classes> 17 </test> 18 </suite>
三、执行testng.xml
在xml文件上,右键run testng.xml即可。
测试代码
1 package com.course.testng.suite; 2 3 import org.testng.annotations.Test; 4 5 public class LoginTest { 6 @Test 7 public void loginTaoBao() { 8 9 System.out.println("登录淘宝"); 10 } 11 12 }
1 package com.course.testng.suite; 2 3 import org.testng.annotations.Test; 4 5 public class PayTest { 6 @Test 7 public void pay() { 8 System.out.println("支付成功"); 9 } 10 }
1 package com.course.testng.suite; 2 3 import org.testng.annotations.*; 4 5 public class SuiteConfig { 6 7 @BeforeSuite 8 public void beforeSuite() { 9 System.out.println("BeforeSuitec测试套件"); 10 } 11 12 @AfterSuite 13 public void afterSuite() { 14 System.out.println("AfterSuite测试套件"); 15 } 16 17 @BeforeClass 18 public void beforClass() { 19 System.out.println("BeforeClass这是类运行之前的方法"); 20 21 } 22 23 @AfterClass 24 public void afterClass() { 25 System.out.println("afterClass类运行之后的方法"); 26 } 27 28 @BeforeTest 29 public void beforTest() { 30 System.out.println("BeforeTest这是运行在test之前的方法"); 31 32 } 33 34 @AfterTest 35 public void afterTest() { 36 System.out.println("BeforeTest运行在test后的方法"); 37 } 38 39 40 }
执行结果
1 Files\workspace\muke\AotoTest\chapter5\src\main\resources\suite.xml 2 BeforeSuitec测试套件 3 4 BeforeTest这是运行在test之前的方法 5 6 登录淘宝 7 8 BeforeTest运行在test后的方法 9 10 BeforeTest这是运行在test之前的方法 11 12 支付成功 13 14 BeforeTest运行在test后的方法 15 16 17 AfterSuite测试套件 18 19 20 =============================================== 21 test 22 Total tests run: 2, Failures: 0, Skips: 0 23 =============================================== 24 25 26 Process finished with exit code 0