内容简介
第1章 初识Selenium
1.1简介
1.2自动化测试
1.3 Web自动化测试
1.4 Selenium的前世今生
1.5 Selenium 1
1.6 Selenium 2
1.7 Selenium 3
1.8 Selenium IDE
1.9 Selenium Grid
1.10 Selenium与嵌入式
1.11 Selenium与云计算
1.12小结
第2章 牛刀小试之Selenium IDE
2.1简介
2.2安装Selenium IDE
2.3 Selenium IDE界面一览
2.4创建测试用例
2.5存储页面信息
2.6与AJAX页面进行交互
2.7处理多窗口
2.8 Rollup的简介
2.9小结
第3章 Selenium玩转页面元素
3.1简介
3.2浏览器调试工具
3.2.1 Google Chrome
3.2.2 Mozilla Firefox
3.2.3 Internet Explorer
3.3查找页面元素
3.3.1通过ID查找元素
3.3.2通过Name查找元素
3.3.3通过ClassName查找元素
3.3.4通过TagName查找元素
3.3.5通过LinkText查找元素
3.3.6通过PartialLinkText查找元素
3.3.7通过CSS选择器查找元素
3.3.8通过XPath查找元素
3.3.9通过jQuery查找元素
3.4元素的Actions
3.5小结
第4章 初识Selenium WebDriver
4.1简介
4.1.1概述
4.1.2 WebDriver与Selenium RC的区别
4.2 Web Driver的架构
4.2.1 synthesized事件和native事件
4.2.2 RPC调用
4.2.3兼容性矩阵
4.2.4缺陷
4.2.5与DOM交互
4.3 WebDriver、Eclipse和Java
4.4 WebDriver的部署
4.4.1使用Firefox Driver
4.4.2使用Chrome Driver
4.4.3使用Internet Explorer Driver
4.5 WebDriver与浏览器
4.5.1操作页面元素之单选按钮
4.5.2操作页面元素之多选按钮
4.5.3操作弹出窗口之验证标题
4.5.4操作弹出窗口之验证内容
4.5.5操作警告框、提示框和确认框
4.5.6操作浏览器最大化
4.5.7操作浏览器Cookies
4.5.8操作浏览器前进后退
4.5.9操作页面元素等待时间
4.6 WebDriver与文件系统
4.6.1屏幕截图操作
4.6.2复制文件操作
4.6.3创建目录操作
4.6.4删除目录操作
4.6.5读取文件操作
4.6.6压缩目录操作
4.6.7临时目录操作
4.6.8文件权限操作
4.7小结
第5章 玩转Selenium WebDriver
5.1 WebDriver与HTML5
5.1.1 HTML5中的Video
5.1.2 HTML5中的Canvas
5.1.3 HTML5中的Drag/Drop
5.1.4 HTML5中的Geolocation
5.2 RemoteWebDriver
5.2.1 RemoteWebDriver简介
5.2.2 RemoteWebDriver的优缺点
5.2.3 RemoteWebDriver服务器端
5.2.4 RemoteWebDriver客户端
5.3 WebDriver的事件处理
5.3.1自定义事件侦听
5.3.2事件处理实例
5.4 Page Object与Page Factory
5.4.1不使用Page Object
5.4.2使用Page Object
5.4.3使用Page Object、 Page Factory、@FindBy和How
5.5 Selenium RC迁移到WebDriver
5.5.1简介
5.5.2从Selenium RC迁移到WebDriver的优势
5.5.3迁移Selenium运行实例
5.5.4迁移测试代码到WebDriver API
5.6小结
第6章 Selenium玩转Android
6.1简介
6.2玩转Android
6.2.1架构
6.2.2搭建Android WebDriver环境
6.2.3最简单的测试用例
6.2.4旋转屏幕
6.2.5触摸和滚动
6.3当Android遇到HTML5
6.3.1 HTML5中的Web Storage
6.3.2 HTML5中的Application Cache
6.4在Cloud中测试Android
6.5小结
第7章 Selenium玩转iOS
7.1简介
7.2 ios-driver
7.2.1 ios-driver简介
7.2.2 ios-driver的Web app实例
7.2.3 ios-driver的Native app实例
7.2.4 ios-driver的源码编译
7.3 Appium
7.3.1 Appium简介
7.3.2 Appium的iOS配置
7.3.3 Appium的Web app实例
7.4小结
第8章 Selenium玩转Raspberry Pi
8.l简介
8.2操作系统层面的准备工作
8.3依赖包的安装
8.4运行Python版的Selenium
8.5运行Standalone版的Selenium Server
8.6小结
第9章 Selenium Grid
9.1简介
9.1.1 Selenium Grid是什么
9.1.2何时使用Selenium Grid
9.1.3 Selenium Grid 2.0&1.0
9.2 Selenium Grid的架构
9.3 Selenium Grid的部署
9.4 Selenium Grid Hub
9.4.1默认启动Hub
9.4.2配置Hub端口
9.4.3 JSON配置文件
9.5 Selenium Grid Node
9.5.1默认启动Node
9.5.2注册Mac OS X&Opera
9.5.3注册Linux&Firefox
9.5.4注册Windows&Internet Explorer
9.5.5注册Android&Chrome
9.5.6注册Appium-iOS&Safari
9.5.7注册多个不同类型的浏览器
9.6编写Selenium Grid的测试用例
9.7小结
第10章 Selenium的“兄弟姐妹们”
10.1简介
10.2 Jenkins
10.3 Web前端性能
10.3.1 BrowserMob Proxy
10.3.2 HttpWatch
10.4 Ruby的光芒
10.4.1 Watir-WebDriver
10.4.2 Capybara
10.5 JMeter
10.6 Sikuli
10.7小结
参考文献