本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~
在testng.xml (文件名可以不是testng) 配置文件中提供3种常见的编排测试用例的方法:

执行com.example.testng2、com.example.testng 两个包下的所有测试用例:
DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="testngDemo">
<packages>
<package name="com.example.testng2">package>
<package name="com.example.testng">package>
packages>
test>
suite>
DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="testngDemo">
<classes>
<class name="com.example.testng.TestNgParallel">class>
classes>
test>
suite>
执行com.example.testng.TestNgParallel 这个类下的所有测试用例;也可以指定执行该类下哪些测试用例,如下:
DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="testngDemo">
<classes>
<class name="com.example.testng.TestNgParallel">
<methods>
<include name="putInC()">include>
methods>
class>
classes>
test>
suite>
执行com.example.testng.TestNgParallel 这个类下的putInC() 测试用例(方法)
DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite1">
<test name="testngDemo">
<groups>
<define name="smoke">
<include name="group1">include>
<include name="group2">include>
define>
<run>
<include name = "smoke" />
run>
groups>
<packages>
<package name="com.example.testng">package>
packages>
test>
suite>
重新定义 group1和group2 为smoke 组,运行smoke组;需要提醒一下tips:分组模式的运行需要指定包/类,否则不知道上哪里去找到分组的用例。
三种方法中这个最实用。只需要在用例方法上打上 @Test(groups = {“groupname”}) 注解,就可以将其分组,一个用例可以有多个组别,很灵活,比如说smoke组(冒烟组),当开发提测时,运行该组测试用例;如果是上线之后的回归验证,就可以直接运行online组的测试用例。
为什么说前两种方法不实用呢?
因为我们在写用例的时候,是以功能模块来划分的,一个功能模块有不同级别的测试用例,我们很难将所有模块同一分类的用例写在同一个包或者类里面,当然这样也不方便用例的后期维护。而分组模式呢,只需要打个标签 就可以进行归类,不管它写在哪个包里,哪个类里面。
文末说明
推荐博文:接口测试经典面试题:Session、cookie、token有什么区别?