Selenium自动化测试之道
评分
2.0
第1章 自动化测试的价值观 1
1.1 自动化测试与产品质量的关系 1
1.2 自动化并不等同于白盒测试 2
1.3 采用自动化还是手工测试 4
1.4 如何进行自动化测试 5
1.5 学习自动化测试的建议 7
1.6 小结 8
第2章 Selenium初体验 9
2.1 从一个测试脚本说起 9
2.2 Selenium家族 10
2.3 Selenium IDE 12
2.3.1 安装Selenium IDE 12
2.3.2 Selenium IDE的使用 13
2.3.3 场景演练 20
2.4 Selenium WebDriver 37
2.4.1 工作原理 37
2.4.2 元素定位 38
2.4.3 场景演练 41
2.4.4 Wait 45
2.4.5 常用的断言 46
2.5 Selenium Grid 47
2.5.1 工作原理 47
2.5.2 环境搭建 48
2.6 小结 52
2.7 练习 52
第3章 Selenium WebDriver 53
3.1 创建不同的Driver对象 53
3.1.1 主流浏览器 53
3.1.2 Headless浏览器 56
3.2 常用API概览 59
3.2.1 浏览器操作 60
3.2.2 ActionChains 61
3.2.3 Alert 61
3.2.4 By 62
3.2.5 Desired Capabilities 62
3.2.6 Keys 63
3.2.7 Wait 64
3.2.8 execute_script 64
3.2.9 switch_to 66
3.3 场景演练 66
3.3.1 弹出框 67
3.3.2 悬浮菜单 71
3.3.3 表格 75
3.3.4 iframe 79
3.3.5 上传与下载 81
3.4 可能遇到的异常 83
3.5 小结 88
3.6 练习 88
第4章 自动化框架 89
4.1 线性框架 89
4.2 模块化框架 91
4.3 数据驱动框架 94
4.4 关键字驱动框架 102
第5章 HTML 5测试 107
5.1 Web Storage 108
5.1.1 Local Storage 108
5.1.2 Session Storage 111
5.2 Application Cache 111
5.2.1 获得Application Cache 当前的状态 112
5.2.2 设置网络连接状态在线/离线 113
5.3 Canvas 114
5.4 Video 116
5.5 小结 118
5.6 练习 118
第6章 移动App测试:Appium 119
6.1 认识Appium 120
6.1.1 Appium 是什么 120
6.1.2 Appium与iOS应用 120
6.1.3 Appium与Android 应用 121
6.2 开始使用Appium 122
6.2.1 准备工作 122
6.2.2 Appium的安装与启动 123
6.3 原生App测试实践 128
6.3.1 运行ios_simple.py 128
6.3.2 运行android_simple.py 133
6.3.3 寻找练手App 136
6.4 Web App测试实践 139
6.4.1 使用Chrome开发者工具
查看Web App元素 141
6.4.2 Android Web App的联机
调试 142
6.4.3 iOS Web App 的联机
调试 144
6.5 小结 146
6.6 练习 146
第7章 BDD:行为驱动开发 147
7.1 认识BDD 148
7.1.1 BDD的由来 148
7.1.2 与TDD比较 150
7.1.3 选择合适的BDD工具 151
7.1.4 BDD实施 157
7.2 BDD工具的使用 160
7.2.1 使用Cucumber-JVM 161
7.2.2 使用Lettuce 168
7.2.3 使用Behave 175
7.3 小结 182
7.4 练习 182
第8章 Jenkins的使用 183
8.1 认识Jenkins 183
8.2 Jenkins安装与启动 185
8.3 任务定制化 188
8.3.1 同步源码 190
8.3.2 定时任务 190
8.3.3 报告 191
8.4 用户与权限 194
8.5 小结 195
8.6 练习 195
参考资料 196
本书既介绍了测试工具Selenium的使用,又带领读者理清实施自动化测试的思路,后者尤其重要。正所谓,测试技术或工具只是“指月之手”,我们追求的是“月亮”,是如何放心地迭代、快速地交付高品质的产品。
本书内容设置与当今企业,尤其是互联网公司所需的UI自动化测试技术环环相扣,归纳总结了可能遇到的难点以及解决问题的思路。
本书介绍的行为驱动开发(BDD)与持续集成工具 Jenkins,都需要团结整个研发团队,甚至是相关的业务部门,才能将这些理念发挥得更好,因此对于促进研发过程改进也具有一定的参考价值。