1. 概述
- 简介 package 元素
- packages
- package
- exclude
- include
2. 背景
- 准备
- 自动生成了 testng.xml 文件
- 已经基本了解了 testng.xml 的结构
- 问题
- 如何约束测试范围
- 假设我有很多的测试用例
- 我想一次执行所有
- 或者一次执行一部分
- 假设我有很多的测试用例
- 如何约束测试范围
3. 环境
- ide
- idea
- 2018.2
- idea
- 配置文件
- testng.xml
- 测试包结构
- com.test01.Test1
- com.test02.Test2
- com.test03.Test3
- 约定
- 配置文件, 我只截取 suite 以下的部分
4. 场景
1. 场景1: 我想执行所有测试类
- 概述
- 执行所有测试类
配置文件
<suite name="All Test Suite"> <test verbose="2" preserve-order="true" name="test 1"> <packages> <package name="com.test01" /> <package name="com.test02" /> <package name="com.test03" /> </packages> </test> </suite>
- 解释
- packages
- 概述
- 包的根元素
- 本质
- 就是个 容器类元素
- 告诉 testng, 这下面都是 package
- 感觉这么设计, 可能是为了效率吧
- package, class, group 执行的机制有不同
- 来回切换损失性能
- 所以尽量集中到一起
- 就是个 容器类元素
- 概述
- package
- 概述
- 包元素
- 本质
- 指定需要执行的包
- 属性
- name
- 测试类的名字
- name
- 其他
- 使用
- 需要几个包, 直接写几个包就行了
- 使用
- 概述
- packages
2. 场景2: 要执行的包有点多, 我能不能偷个懒
- 概述
- 执行所有测试类
- 想偷懒
配置文件
<suite name="All Test Suite"> <test verbose="2" preserve-order="true" name="test 1"> <packages> <package name="com.*" /> </packages> </test> </suite>
- 解释
- package
- 概述
- 这里使用了 正则
- com.*
- 正则
- 用 正则 匹配了 包名
- 注意
- testng 没有 通配符
- 没有 wildcard
- testng 没有 通配符
- 正则
- 概述
- package
3. 场景3: 要执行的包有点多, 但我又不想执行所有的包
- 概述
- 执行大部分测试
- 但有那么些类, 我又不想执行
配置文件
<suite name="All Test Suite"> <test verbose="2" preserve-order="true" name="test 1"> <packages> <package name="com.*" > <exclude name="com.test03" /> </package> </packages> </test> </suite>
- 解释
- exclude
- 概述
- 黑名单机制
- 名单里的 包, 不会再执行
- 黑名单机制
- 概述
- exclude
4. 场景4: 要执行的包有点多, 但我又不想执行所有的包
- 概述
- 执行少部分测试
- 好像和上次又有那么点不同
- 执行少部分测试
配置文件
<suite name="All Test Suite"> <test verbose="2" preserve-order="true" name="test 1"> <packages> <package name="com.*" > <include name="com.test03" /> </package> </packages> </test> </suite>
- 解释
- include
- 概述
- 白名单机制
- 只会执行 白名单里 的包
- 白名单机制
- 概述
- include
ps
- 文档和参考
- 文档
- 官方文档
- 老实说就一个页面
- 从头拉到尾
- 东西是都讲了, 但是只能当个字典来查
- 你需要有些基础才行
- 但是基础怎么来呢
- 好些东西还是没讲
- 东西是都讲了, 但是只能当个字典来查
- 官方文档
- 书籍
- testng beginner's guide
- 书不错
- 13 年的
- 没有中文
- 书不错
- testng beginner's guide
- dtd
- testng.xml 的 dtd 文件
- 概述
- xml 的描述文件
- 正确性没问题
- 毕竟 testng 就是按照这个来解析的
- 注释上也相对清晰
- 可以和 官网 或者 参考书 形成互补
- 当然看起来有点麻烦
- 需用知道 dtd 的语法
- 内容
- 元素
- 元素的意义
- 元素的属性
- 元素的子元素
- 元素
- 概述
- testng.xml 的 dtd 文件
- 文档