出版社:机械工业出版社
年代:2014
定价:40.0
本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试。本书从自动化测试的特点娓娓道来,引出了主角Selenium;介绍了Selenium IDE的使用;讲述了获取页面元素和定位页面元素的多种方式;讲解了WebDriver与Selenium RC的区别、WebDriver的架构和设计理念;阐述了WebDriver的部署、基本使用方法、对HTML5特性的支持,以及如何迁移已有的Selenium RC代码到Selenium WebDriver的解决方案;展示了在嵌入式系统中使用Selenium进行自动化测试的方法,涵盖Android、 iOS和Raspberry Pi等;此外,本书还描述了Selenium Grid的架构和部署方法;最后介绍了Selenium周边的测试工具和套件。无论从深度还是广度上,本书为开发人员和测试人员学习并掌握Selenium提供了一定的辅助作用。
前言
第章初识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
第章牛刀小试之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
第章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
第章初识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
第章玩转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
第章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
第章Selenium玩转iOS149
★7?1简介149
★7?2ios?driver149
7?2?1ios?driver简介149
7?2?2ios?driver的Web app实例150
7?2?3ios?driver的Native app实例153
7?2?4ios?driver的源码编译158
★7?3Appium160
7?3?1Appium简介160
7?3?2Appium的iOS配置161
7?3?3Appium的Web app实例162
★7?4小结169
第章Selenium玩转Raspberry Pi170
★8?1简介170
★8?2操作系统层面的准备工作170
★8?3依赖包的安装171
★8?4运行Python版的Selenium172
★8?5运行Standalone版的Selenium Server175
★8?6小结179
第章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注册Appium?iOS & Safari189
9?5?7注册多个不同类型的浏览器190
★9?6编写Selenium Grid的测试用例193
★9?7小结194
第章Selenium的“兄弟姐妹们”195
★10?1简介195
★10?2Jenkins195
★10?3Web前端性能198
10?3?1BrowserMob Proxy198
10?3?2HttpWatch200
★10?4Ruby的光芒203
10?4?1Watir?WebDriver203
10?4?2Capybara204
★10?5JMeter205
★10?6Sikuli208
★10?7小结209
参考文献210
本书向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试。本书从自动化测试的特点娓娓道来,引出了主角Selenium;介绍了Selenium IDE的使用;讲述了获取页面元素和定位页面元素的多种方式;讲解了WebDriver与Selenium RC的区别、WebDriver的架构和设计理念;阐述了WebDriver的部署、基本使用方法、对HTML5特性的支持,以及如何迁移已有的Selenium RC代码到Selenium WebDriver的解决方案;展示了在嵌入式系统中使用Selenium进行自动化测试的方法,涵盖Android、 iOS和Raspberry Pi等;此外,本书还描述了Selenium Grid的架构和部署方法;最后介绍了Selenium周边的测试工具和套件。无论从深度还是广度上,本书为开发人员和测试人员学习并掌握Selenium提供了一定的辅助作用。本书适合开发人员、测试人员、测试管理人员使用,也适合作为大中专院校相关专业师生的学习用书,以及培训学校的教材。
(印) 冈迪察·U (Unmesh Gundecha) , 著
杨大伟, 编著
Ping++ 测试团队, 编著
吴晓华, 王晨昕, 编著
虫师, 编著
刘傲凡, 著
田春成, 李靖, 著
腾讯 TuringLab 团队, 编著
郎珑融, 编著