为你推荐
题名页
版权页
前言
第1章 引例
1.1 部署示例应用程序
1.1.1 安装JRE
1.1.2 安装H2
1.1.3 安装ZooKeeper
1.1.4 启动示例应用程序
1.2 一个例子引发的思考
1.2.1 准备
1.2.2 编写登录测试用例
1.2.3 如何优化测试用例
第2章 测试用例分层
2.1 模块化
2.1.1 初步模块化
2.1.2 进一步优化
2.2 函数库
2.2.1 使用Maven私有仓库
2.2.2 发布函数库
2.2.3 使用函数库
2.3 精细化测试用例分层
第3章 数据驱动测试
3.1 TestNG参数化测试
3.1.1 使用@DataProvider注解
3.1.2 使用@Parameters注解
3.1.3 使用@Factory注解
3.2 JUnit参数化测试
3.2.1 使用@ValueSource注解
3.2.2 使用@NullSource、@EmptySource和@NullAndEmptySource注解
3.2.3 使用@EnumSource注解
3.2.4 使用@MethodSource注解
3.2.5 使用@CsvSource注解
3.2.6 使用@CsvFileSource注解
3.2.7 使用@ArgumentsSource和@ArgumentsSources注解
3.3 使用不同的数据源
3.3.1 使用CSV作为数据源
3.3.2 使用Excel作为数据源
3.3.3 使用Properties作为数据源
3.3.4 使用YAML作为数据源
3.3.5 使用数据库作为数据源
第4章 关键字驱动测试
4.1 关键字简介
4.2 Robot Framework关键字
4.2.1 BuiltIn关键字库
4.2.2 Collections关键字库
4.2.3 DateTime关键字库
4.2.4 Dialogs关键字库
4.2.5 Easter关键字库
4.2.6 OperatingSystem关键字库
4.2.7 Process关键字库
4.2.8 Remote关键字库
4.2.9 Reserved关键字库
4.2.10 Screenshot关键字库
4.2.11 String关键字库
4.2.12 Telnet关键字库
4.2.13 XML关键字库
4.2.14 外部关键字库
4.2.15 自定义关键字库
4.2.16 用户关键字
4.2.17 关键字的优先级
4.3 实现关键字驱动测试框架
4.3.1 实现关键字
4.3.2 解析关键字
4.3.3 执行关键字
4.3.4 优化建议
第5章 Page Object设计模式
5.1 Page Object设计模式简介
5.2 两层建模
5.2.1 页面对象层
5.2.2 测试用例层
5.3 三层建模
5.3.1 页面对象层
5.3.2 业务逻辑层
5.3.3 测试用例层
5.4 Selenium支持
5.4.1 使用PageFactory类
5.4.2 使用LoadableComponent<T extends LoadableComponent<T>>类
5.5 优化建议
第6章 等待的艺术
6.1 Java线程休眠
6.2 隐式等待
6.2.1 查找元素等待
6.2.2 页面加载等待
6.2.3 异步执行JavaScript脚本等待
6.3 显式等待
6.3.1 使用WebDriverWait类
6.3.2 详解内置等待条件
6.3.3 使用FluentWait<T>类
6.3.4 实现自定义等待条件
第7章 高效的断言
7.1 Java断言
7.2 TestNG断言
7.2.1 相等和不相等的断言
7.2.2 真和假的断言
7.2.3 空和非空的断言
7.2.4 相同和不相同的断言
7.2.5 抛出的断言
7.2.6 失败的断言
7.3 JUnit断言
7.3.1 准备
7.3.2 相等和不相等的断言
7.3.3 真和假的断言
7.3.4 空和非空的断言
7.3.5 相同和不相同的断言
7.3.6 匹配的断言
7.3.7 多个结果的断言
7.3.8 超时的断言
7.3.9 抛出和不抛出的断言
7.3.10 失败的断言
7.4 使用AssertJ断言函数库
7.5 使用Hamcrest断言函数库
第8章 测试报告
8.1 TestNG测试报告
8.1.1 内置测试报告
8.1.2 自定义测试报告
8.2 使用Extent Reporting框架
8.2.1 本地测试报告
8.2.2 测试报告服务器
8.3 使用Allure框架
8.3.1 收集测试结果数据
8.3.2 使用命令行工具生成测试报告
8.3.3 使用Maven插件生成测试报告
8.4 使用邮件发送测试报告
8.4.1 实现邮件发送客户端
8.4.2 发送测试报告
第9章 测试替身
9.1 测试替身简介
9.2 准备
9.2.1 Java EE应用程序分层模型
9.2.2 规划示例应用程序
9.3 使用Dummy
9.4 使用Stub
9.5 使用Spy
9.6 使用Mock
9.6.1 单元测试的Mock
9.6.2 HTTP接口测试的Mock
9.6.3 Dubbo接口测试的Mock
9.7 使用Fake
第10章 提高执行效率
10.1 使用无头浏览器
10.1.1 PhantomJS和HtmlUnit
10.1.2 Chrome无头模式
10.1.3 Firefox无头模式
10.2 TestNG并行执行
10.2.1 并行执行策略
10.2.2 设置并行线程数
10.2.3 设置超时时间
10.2.4 覆盖属性
10.2.5 使用@Test注解
10.2.6 使用@DataProvider注解
10.3 JUnit并行执行
10.3.1 并行执行策略
10.3.2 设置并行线程数
10.3.3 使用@ResourceLock注解
10.3.4 使用@Execution注解
10.4 Selenium Grid
10.4.1 准备
10.4.2 控制台和配置
10.4.3 分布式执行
第11章 持续集成、持续交付和持续部署
11.1 持续集成、持续交付和持续部署简介
11.2 Jenkins实现持续集成、持续交付和持续部署
11.2.1 Blue Ocean简介
11.2.2 使用普通流水线
11.2.3 使用多分支流水线
11.3 其他常用实践
11.3.1 邮件通知
11.3.2 多节点构建
11.3.3 集成第三方测试报告
第12章 展望
12.1 自动化测试平台
12.2 自动化测试与容器化
12.3 自动化测试与人工智能
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜