第1篇 Selenium和WebDriver工具篇第1章 自动化测试基础 2
1.1 初识自动化测试 2
1.1.1 自动化测试是什么 2
1.1.2 常见的自动化测试架构 5
1.1.3 自动化测试的基本流程 8
1.1.4 走出自动化测试认知的误区 12
1.2 开源Web自动化测试 14
1.2.1 Web自动化测试 14
1.2.2 是否选择开源自动化测试 15
1.2.3 开源自动化测试的优势 15
第2章 Selenium简介和基础 17
2.1 Selenium简介 17
2.2 Selenium基础 21
2.3 小结 25
第3章 Selenium-IDE 26
3.1 简介 26
3.2 IDE操作界面 29
3.3 测试案例和测试案例集 32
3.3.1 创建测试案例 32
3.3.2 运行测试案例 35
3.3.3 调试测试案例 37
3.3.4 测试案例集 39
3.4 IDE功能扩展 40
3.5 常见错误处理 41
第4章 Selenium命令 45
4.1 验证页面元素 45
4.2 定位页面元素 48
4.3 文字范本匹配 54
4.4 命令使用技巧 58
第5章 Selenium-RC 63
5.1 简介 63
5.2 Selenium-RC基础 64
5.2.1 Selenium-RC工作原理 64
5.2.2 Selenium-RC架构 66
5.2.3 Selenium-RC安装 70
5.3 Selenium-RC使用 74
5.3.1 从Selenese到测试程序 74
5.3.2 构建你的测试程序 79
5.3.3 学习Selenium-RC API 86
5.3.4 报告测试结果 88
5.3.5 为测试加入一些编程逻辑 91
5.3.6 Server选项 94
5.3.7 处理HTTPS和安全弹出对话框 99
5.3.8 支持其他浏览器和浏览器配置 100
5.4 常见错误的处理 101
第6章 Selenium测试案例设计 107
6.1 测试设计导言 107
6.2 测试什么 107
6.3 验证结果 109
6.3.1 断言vs验证 109
6.3.2 权衡:assertTextPresent、assertElementPresent、assertText 110
6.4 选择一个定位策略 111
6.4.1 定位动态对象 111
6.4.2 如何避免在测试中使用复杂的xpath表达式 114
6.5 测试Ajax应用系统 115
6.6 UI映射 115
6.7 数据驱动测试 118
6.8 数据库验证 119
第7章 Selenium用户扩展 121
7.1 简介 121
7.2 Actions 121
7.3 Accessors/Assertions 122
7.4 定位策略 123
7.5 在Selenium-IDE中使用用户扩展 124
7.6 在Selenium-RC中使用用户扩展 124
第8章 Selenium-Grid 126
8.1 Selenium-Grid是如何工作的 127
8.1.1 传统的Selenium架构 127
8.1.2 Selenium-Grid架构 128
8.1.3 指定测试执行环境 130
8.2 如何使用Selenium-Grid测试平台 136
第9章 Selenium 2.0和WebDriver 142
9.1 WebDriver基础 142
9.1.1 WebDriver是什么 142
9.1.2 什么时候使用WebDriver 143
9.1.3 五分钟入门指南 143
9.2 WebDriver的各种实现 146
9.2.1 HtmlUnit Driver 146
9.2.2 Firefox Driver 147
9.2.3 Internet Explorer Driver 149
9.2.4 Chrome Driver 149
9.3 WebDriver进阶 151
9.4 模拟Selenium-RC 156
第2篇 自动化测试实战篇 160
第10章 实战——测试Google GMAIL 160
10.1 明确测试范围 160
10.2 Selenium测试——登录GMAIL邮箱 161
10.3 Selenium测试——撰写邮件 172
10.4 Selenium测试——删除邮件以及邮件列表 178
10.5 Selenium测试——邮件存档 185
10.6 Selenium测试——搜索邮件 191
10.7 使用测试案例集来管理Selenium-IDE脚本 197
10.8 留给读者的思考 200
第11章 管理你的测试案例——Bromine 201
11.1 Brormine基础 201
11.1.1 为什么使用Bromine 201
11.1.2 Bromine特性 202
11.1.3 Bromine工作原理 202
11.1.4 安装Bromine 204
11.2 配置和使用Bromine 206
11.2.1 配置Bromine测试节点 206
11.2.2 配置Bromine任务调度器 209
11.2.3 创建一个Bromine测试脚本 212
11.2.4 在Bromine中上载测试脚本 216
11.2.5 测试计划 216
11.2.6 测试实验室 219
11.2.7 控制面板 220
11.3 实战——管理Google GMAIL测试案例 222
第12章 测试云——SauceLabs 229
12.1 Sauce OnDemand 229
12.1.1 如何使用Sauce OnDemand 231
12.1.2 Sauce OnDemand常用参数 238
12.2 Sauce Connect 246
12.3 Sauce IDE 248
12.4 Sauce RC 253
12.5 实战——在SaucesLabs中运行Google GMAIL测试案例 258
12.6 实战——在Bromine中集成SaucesLabs 267
第13章 管理你的缺陷——ManitsBT 271
13.1 简介 271
13.2 安装 273
13.3 MantisBT配置 276
13.4 MantisBT管理 280
13.4.1 用户管理 280
13.4.2 项目管理 283
13.4.3 自定义字段管理 285
13.4.4 管理配置 286
13.5 报告缺陷 289
13.5.1 报告并处理缺陷 290
13.5.2 缺陷查询 291
13.5.3 缺陷修改 292
13.5.4 我的视图 294
13.6 统计报表和图形报表 294
13.7 留给读者的思考 297
第3篇 Selenium使用帮助篇 300
第14章 Selenium使用帮助 300
14.1 Selenium API速查手册 300
14.1.1 Selenium Action 300
14.1.2 Selenium Assertion 318
14.1.3 Selenium Accessors 320
14.2 Selenium客户端驱动配置 353
14.2.1 NET客户端驱动配置 353
14.2.2 Java客户端驱动配置 356
14.2.3 Python客户端驱动配置 372