Selenium和WebDriver工具篇 2
第1章 自动化测试基础 2
1.1 初识自动化测试 2
1.1.1 自动化测试是什么 2
1.1.2 常见的自动化测试架构 4
1.1.3 自动化测试的基本流程 7
1.1.4 自动化测试脚本分类 9
1.1.5 走出自动化测试认知的误区 10
1.2 开源Web自动化测试 11
1.2.1 是否选择开源自动化测试 12
1.2.2 使用开源自动化测试工具的优势 12
第2章 Selenium简介和基础 14
2.1 Selenium简介 14
2.1.1 Selenium组件 14
2.1.2 Selenium发展历程 16
2.1.3 Selenium浏览器支持情况 17
2.2 Selenium基础 18
2.2.1 Selenium命令——Selenese 18
2.2.2 Selenium脚本语法 19
2.2.3 Selenium测试案例集 20
2.2.4 常用的Selenium命令 20
2.3 小结 21
第3章 Selenium IDE 22
3.1 Selenium IDE简介 22
3.1.1 安装Selenium IDE 22
3.1.2 运行Selenium IDE 24
3.2 Selenium IDE的操作接口 25
3.2.1 菜单栏 25
3.2.2 工具栏 25
3.2.3 测试案例面板 26
3.2.4 Log、Reference、UI-Element和Rollup面板 26
3.3 测试案例和测试案例集 27
3.3.1 创建测试案例 27
3.3.2 运行测试案例 29
3.3.3 调试测试案例 31
3.3.4 测试案例集 33
3.4 Selenium IDE功能扩展 34
3.4.1 用户扩展 34
3.4.2 转换代码形式 34
3.5 常见错误处理 35
第4章 Selenium命令 38
4.1 验证页面元素 38
4.2 定位页面元素 40
4.3 文字模板匹配 45
4.4 命令使用技巧 48
4.5 警告框、弹出框以及多窗口 51
第5章 Selenium1.0 (Selenium RC) 55
5.1 Selenium 1.0 (Selenium RC)简介 55
5.2 Selenium RC基础 56
5.2.1 Selenium RC工作原理 56
5.2.2 Selenium RC架构 57
5.2.3 Selenium RC安装 61
5.3 使用Selenium RC 63
5.3.1 从Selenese到测试程序 63
5.3.2 构建你的测试程序 68
5.3.3 学习Selenium RC API 74
5.3.4 报告测试结果 76
5.3.5 为测试加入一些编程逻辑 77
5.3.6 Server选项 80
5.3.7 Selenium Server日志记录 83
5.3.8 处理HTTPS和安全弹出对话框 84
5.3.9 支持其他浏览器和浏览器配置 85
5.4 常见错误处理 85
第6章 Selenium测试案例设计 91
6.1 测试设计导言 91
6.2 测试什么 91
6.3 验证结果 92
6.3.1 断言vs.验证 93
6.3.2 权衡:assertTextPresent、assert ElementPresent、assertText 93
6.4 选择一个定位策略 94
6.4.1 定位动态对象 94
6.4.2 如何避免在测试中使用复杂的XPath表达式 96
6.5 测试AJAX应用系统 96
6.6 封装Selenium通用函数 97
6.7 UI映射 98
6.8 Page Object设计模式 100
6.9 数据驱动测试 103
6.10 数据库验证 103
第7章 Selenium用户扩展 105
7.1 Selenium用户扩展简介 105
7.2 Action 105
7.3 Accessor/Assertion 106
7.4 定位策略 107
7.5 在Selenium IDE中使用用户扩展 107
7.6 在Selenium RC中使用用户扩展 108
第8章 Selenium Grid 109
8.1 Selenium Grid是什么 109
8.2 什么时候使用Selenium Grid 110
8.3 Selenium Grid如何工作——通过中心和节点 111
8.3.1 安装Selenium Grid 111
8.3.2 启动Selenium Grid 111
8.3.3 通过Selenium Grid运行测试 112
8.4 Selenium Grid配置 113
8.4.1 中心(hub)配置 113
8.4.2 节点(Node)配置 114
8.5 中心(hub)诊断信息 116
8.6 常见错误 117
第9章 Selenium 2.0和WebDriver 118
9.1 WebDriver基础 118
9.1.1 WebDriver如何驱动浏览器 118
9.1.2 WebDriver和Selenium Server 118
9.1.3 建立Selenium WebDriver工程 119
9.1.4 从Selenium RC迁移到Selenium WebDriver 121
9.1.5 常见问题 122
9.1.6 Selenium WebDriver API简介 124
9.1.7 Selenium WebDriver API命令和参数 126
9.2 WebDriver的各种实现 138
9.2.1 HtmlUnit Driver 138
9.2.2 Firefox Driver 140
9.2.3 Internet Explorer Driver 141
9.2.4 Chrome Driver 142
9.2.5 其他Driver 142
9.3 可选的向后相容:混用WebDriver和RC技术 143
9.3.1 基于WebDriver的Selenium RC 143
9.3.2 使用Selenium扩展WebDriver 144
9.4 WebDriver的高级用法 144
9.4.1 显式和隐式等待 144
9.4.2 远程WebDriver (Remote WebDriver) 147
9.4.3 高级用户交互 150
9.4.4 改变浏览器代理 151
第10章 Cucumber和WebDriver 154
10.1 Cucumber基础 154
10.1.1 下载安装Cucumber 154
10.1.2 五分钟入门 155
10.2 Cucumber与WebDriver结合 157
10.3 采用中文描述的自动化测试 161
自动化测试实战篇 166
第11章 实战——测试Google Gmail 166
11.1 明确测试范围 166
11.2 Selenium测试——登录Gmail邮箱 167
11.2.1 使用Selenium IDE录制脚本 167
11.2.2 转换脚本语言(Java Selenium RC) 172
11.3 Selenium测试——撰写邮件 177
11.3.1 使用Selenium IDE录制脚本 177
11.3.2 转换脚本语言(Java Selenium RC) 181
11.4 Selenium测试——删除邮件以及邮件列表 182
11.4.1 使用Selenium IDE录制脚本 182
11.4.2 转换脚本语言(Java Selenium RC) 186
11.5 Selenium测试——邮件存档 188
11.5.1 使用Selenium IDE录制脚本 188
11.5.2 转换脚本语言(Java Selenium RC) 190
11.6 Selenium测试——搜索邮件 194
11.6.1 使用Selenium IDE录制脚本 194
11.6.2 转换脚本语言(Java Selenium RC) 197
11.7 使用测试案例集来管理Selenium IDE脚本 199
11.8 留给读者的思考 202
第12章 实战——测试Test Perfect 203
12.1 明确测试范围 203
12.2 WebDriver测试——添加移动设备 204
12.2.1 通过Ruby脚本驱动WebDriver 204
12.2.2 将Cucumber和WebDriver结合 210
12.3 WebDriver测试——新建测试用例 216
12.4 WebDriver测试——测试用例运行 224
12.5 留给读者的思考 230
Selenium使用帮助篇 232
第13章 Selenium使用帮助 232
13.1 Selenium客户端驱动配置 232
13.1.1 .NET客户端驱动配置 232
13.1.2 Java客户端驱动配置 234
13.1.3 Python客户端驱动配置 251
13.2 使用Maven导入Selenium 2.0工程 253
13.2.1 使用Maven导入Selenium 2.0工程到Eclipse 253
13.2.2 使用Maven导入Selenium 2.0工程到IntelliJ 254