前言
第1章初识Selenium1
1.1简介1
1.2自动化测试1
1.3Web自动化测试3
1.4Selenium的前世今生3
1.5Selenium 14
1.6Selenium 25
1.7Selenium 36
1.8Selenium IDE6
1.9Selenium Grid6
1.10Selenium与嵌入式7
1.11Selenium与云计算7
1.12小结8
第2章牛刀小试之Selenium IDE9
2.1简介9
2.2安装Selenium IDE9
2.3Selenium IDE界面一览11
2.4创建测试用例13
2.5存储页面信息14
2.6与AJAX页面进行交互15
2.7处理多窗口16
2.8Rollup的简介17
2.9小结21
第3章Selenium玩转页面元素22
3.1简介22
3.2浏览器调试工具22
3.2.1Google Chrome22
3.2.2Mozilla Firefox23
3.2.3Internet Explorer24
3.3查找页面元素26
3.3.1通过ID查找元素26
3.3.2通过Name查找元素27
3.3.3通过ClassName查找元素28
3.3.4通过TagName查找元素29
3.3.5通过LinkText查找元素30
3.3.6通过PartialLinkText查找元素31
3.3.7通过CSS选择器查找元素32
3.3.8通过Xpath查找元素32
3.3.9通过jQuery查找元素34
3.4元素的Actions40
3.5小结43
第4章初识Selenium WebDriver44
4.1简介44
4.1.1概述44
4.1.2WebDriver与Selenium RC的区别44
4.2WebDriver的架构44
4.2.1synthesized事件和native事件44
4.2.2RPC调用45
4.2.3兼容性矩阵45
4.2.4缺陷46
4.2.5与DOM交互46
4.3WebDriver、Eclipse和Java47
4.4WebDriver的部署49
4.4.1使用Firefox Driver49
4.4.2使用Chrome Driver52
4.4.3使用Internet Explorer Driver56
4.5WebDriver与浏览器60
4.5.1操作页面元素之单选按钮60
4.5.2操作页面元素之多选按钮62
4.5.3操作弹出窗口之验证标题64
4.5.4操作弹出窗口之验证内容67
4.5.5操作警告框、提示框和确认框69
4.5.6操作浏览器最大化72
4.5.7操作浏览器Cookies73
4.5.8操作浏览器前进后退76
4.5.9操作页面元素等待时间78
4.6WebDriver与文件系统79
4.6.1屏幕截图操作79
4.6.2复制文件操作81
4.6.3创建目录操作82
4.6.4删除目录操作83
4.6.5读取文件操作83
4.6.6压缩目录操作84
4.6.7临时目录操作85
4.6.8文件权限操作85
4.7小结86
第5章玩转Selenium WebDriver87
5.1WebDriver与HTML587
5.1.1HTML5中的Video87
5.1.2HTML5中的Canvas89
5.1.3HTML5中的Drag/Drop90
5.1.4HTML5中的Geolocation94
5.2RemoteWebDriver97
5.2.1RemoteWebDriver简介97
5.2.2RemoteWebDriver的优缺点97
5.2.3RemoteWebDriver服务器端97
5.2.4RemoteWebDriver客户端99
5.3WebDriver的事件处理100
5.3.1自定义事件侦听100
5.3.2事件处理实例101
5.4Page Object与Page Factory103
5.4.1不使用Page Object104
5.4.2使用Page Object108
5.4.3使用Page Object、Page Factory、@FindBy和How118
5.5Selenium RC迁移到WebDriver130
5.5.1简介130
5.5.2从Selenium RC迁移到WebDriver的优势130
5.5.3迁移Selenium运行实例130
5.5.4迁移测试代码到WebDriver API131
5.6小结131
第6章Selenium玩转Android132
6.1简介132
6.2玩转Android132
6.2.1架构132
6.2.2搭建Android WebDriver环境133
6.2.3最简单的测试用例137
6.2.4旋转屏幕137
6.2.5触摸和滚动139
6.3当Android遇到HTML5141
6.3.1HTML5中的Web Storage141
6.3.2HTML5中的Application Cache143
6.4在Cloud中测试Android145
6.5小结148
第7章Selenium玩转iOS149
7.1简介149
7.2iosdriver149
7.2.1iosdriver简介149
7.2.2iosdriver的Web app实例150
7.2.3iosdriver的Native app实例153
7.2.4iosdriver的源码编译158
7.3Appium160
7.3.1Appium简介160
7.3.2Appium的iOS配置161
7.3.3Appium的Web app实例162
7.4小结169
第8章Selenium玩转Raspberry Pi170
8.1简介170
8.2操作系统层面的准备工作170
8.3依赖包的安装171
8.4运行Python版的Selenium172
8.5运行Standalone版的Selenium Server175
8.6小结179
第9章Selenium Grid180
9.1简介180
9.1.1Selenium Grid是什么180
9.1.2何时使用Selenium Grid180
9.1.3Selenium Grid 2.0 & 1.0181
9.2Selenium Grid的架构181
9.3Selenium Grid的部署182
9.4Selenium Grid Hub182
9.4.1默认启动Hub182
9.4.2配置Hub端口182
9.4.3JSON配置文件184
9.5Selenium Grid Node184
9.5.1默认启动Node184
9.5.2注册Mac OS X & Opera185
9.5.3注册Linux & Firefox187
9.5.4注册Windows & Internet Explorer187
9.5.5注册Android & Chrome188
9.5.6注册AppiumiOS & Safari189
9.5.7注册多个不同类型的浏览器190
9.6编写Selenium Grid的测试用例193
9.7小结194
第10章Selenium的“兄弟姐妹们”195
10.1简介195
10.2Jenkins195
10.3Web前端性能198
10.3.1BrowserMob Proxy198
10.3.2HttpWatch200
10.4Ruby的光芒203
10.4.1WatirWebDriver203
10.4.2Capybara204
10.5JMeter205
10.6Sikuli208
10.7小结209
参考文献210
· · · · · · (
收起)