1. 概述
- group 相关的元素
- groups
- run
- 其他相关(不准备提了)
- package
- class
- include
- exclude
2. 背景
- 准备
- 了解了 class 及其子元素
- 问题
- 对 测试范围 做进一步灵活的划分
3. 环境
- ide
- idea
- 2018.2
- 配置文件
- testng.xml
- 测试包结构
- com.test.group
- TestGroup
- testMethod01
- test-group
- testMethod02
- testMethod03
- test-group
- MuiltGroup
- testMethod01
- group-one
- testMethod02
- group-one
- group-two
- testMethod03
- group-two
- 约定
- 配置文件, 我只截取 suite 以下的部分
- group 相关注解
- 简略说下
- @Test(groups={"group-one", "group-two"})
4. 场景
场景1: 执行 test-group 组用例
- 概述
- 执行 test-group 组的测试用例
配置文件
<test name="Timed Test">
<groups>
<run>
<include name="test-group"/>
</run>
</groups>
<!--<packages>-->
<!--<package name="com.test.groups"/>-->
<!--</packages>-->
<classes>
<class name="com.test.groups.TestGroup"/>
</classes>
</test>
- 解释
- groups
- 概述
- 分组的根元素
- 本质
- 分组的容器
- 子元素
- run
- 其他
- 暂时不讲, 涉及到比较复杂的分组
- run
- 概述
- 存放 分组过滤的规则
- 本质
- 规则容器
- 子元素
- include
- exclude
- 这俩的东西, 我就不多讲了
- packages/classes
- 概述
- 指定执行范围
- 本质
- 真正的执行范围
- groups 只是修饰的作用
- 如果没有 packages 或者 classes
- 这个肯定会报错
- 其他
- 一个 groups 下面只能有 一个run
5. 问题
问题1: 一个方法属于多个 group, 多次 include
- 场景
- 一个方法
- 同时属于多个 group
- 连续 include 两次
- 结果
- 只执行一次
- 其他
- 先 include, 后 exclude
- 不执行
- 先 exclude, 后 include
- 不执行
问题2: 一个方法夸 test 执行
- 场景
- 一个方法
- 出现在 两个 test 里
- 结果
- 执行 2 次
ps
- 其他能讲的东西
- group 还有更加复杂的方式
- 这个后面会说
- before / after
- 多线程
- 注解
Java - Test - TestNG: testng.xml 元素 class
原文:https://www.cnblogs.com/xy14/p/11838850.html