基于Selenium 2 的自动化测试 从入门到精通
作者:白洛 编著
出版时间:2014
内容简介
《基于Selenium 2的自动化测试:从入门到精通》向开发人员和测试人员展示了如何使用Selenium进行Web自动化测试。《基于Selenium 2的自动化测试:从入门到精通》从自动化测试的特点娓娓道来,引出了主角Selenium;介绍了Selenium IDE的使用;讲述了获取页面元素和定位页面元素的多种方式;讲解了WebDriver与Selenium RC的区别、WebDriver的架构和设计理念;阐述了WebDriver的部署、基本使用方法、对HTML5特性的支持,以及如何迁移已有的Selenium RC代码到Selenium WebDriver的解决方案;展示了在嵌入式系统中使用Selenium进行自动化测试的方法,涵盖Android、 iOS和Raspberry Pi等;此外,本书还描述了Selenium Grid的架构和部署方法;最后介绍了Selenium周边的测试工具和套件。无论从深度还是广度上,本书为开发人员和测试人员学习并掌握Selenium提供了一定的辅助作用。 《基于Selenium 2的自动化测试:从入门到精通》适合开发人员、测试人员、测试管理人员使用,也适合作为大中专院校相关专业师生的学习用书,以及培训学校的教材。
目录
前言 第1章初识Selenium ★1.1简介 ★1.2自动化测试 ★1.3Web自动化测试 ★1.4Selenium的前世今生 ★1.5Selenium ★1.6Selenium ★1.7Selenium ★1.8Selenium IDE ★1.9Selenium Grid ★1.10Selenium与嵌入式 ★1.11Selenium与云计算 ★1.12小结
第2章牛刀小试之Selenium IDE ★2.1简介 ★2.2安装Selenium IDE ★2.3Selenium IDE界面一览 ★2.4创建测试用例 ★2.5存储页面信息 ★2.6与AJAX页面进行交互 ★2.7处理多窗口 ★2.8Rollup的简介 ★2.9小结
第3章Selenium玩转页面元素 ★3.1简介 ★3.2浏览器调试工具 3.2.1Google Chrome 3.2.2Mozilla Firefox 3.2.3Internet 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.2WebDriver与Selenium RC的区别 ★4.2WebDriver的架构 4.2.1synthesized事件和native事件 4.2.2RPC调用 4.2.3兼容性矩阵 4.2.4缺陷 4.2.5与DOM交互 ★4.3WebDriver、Eclipse和Java ★4.4WebDriver的部署 4.4.1使用Firefox Driver 4.4.2使用Chrome Driver 4.4.3使用Internet Explorer Driver ★4.5WebDriver与浏览器 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.6WebDriver与文件系统 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.1WebDriver与HTML 5.1.1HTML5中的Video 5.1.2HTML5中的Canvas 5.1.3HTML5中的Drag/Drop 5.1.4HTML5中的Geolocation ★5.2RemoteWebDriver 5.2.1RemoteWebDriver简介 5.2.2RemoteWebDriver的优缺点 5.2.3RemoteWebDriver服务器端 5.2.4RemoteWebDriver客户端 ★5.3WebDriver的事件处理 5.3.1自定义事件侦听 5.3.2事件处理实例 ★5.4Page Object与Page Factory 5.4.1不使用Page Object 5.4.2使用Page Object 5.4.3使用Page Object、Page Factory、@FindBy和How ★5.5Selenium 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遇到HTML 6.3.1HTML5中的Web Storage 6.3.2HTML5中的Application Cache ★6.4在Cloud中测试Android ★6.5小结
第7章Selenium玩转iOS ★7.1简介 ★7.2ios-driver 7.2.1ios-driver简介 7.2.2ios-driver的Web app实例 7.2.3ios-driver的Native app实例 7.2.4ios-driver的源码编译 ★7.3Appium 7.3.1Appium简介 7.3.2Appium的iOS配置 7.3.3Appium的Web app实例 ★7.4小结
第8章Selenium玩转Raspberry Pi ★8.1简介 ★8.2操作系统层面的准备工作 ★8.3依赖包的安装 ★8.4运行Python版的Selenium ★8.5运行Standalone版的Selenium Server ★8.6小结
第9章Selenium Grid ★9.1简介 9.1.1Selenium Grid是什么 9.1.2何时使用Selenium Grid 9.1.3Selenium Grid 2.0 & 1. ★9.2Selenium Grid的架构 ★9.3Selenium Grid的部署 ★9.4Selenium Grid Hub 9.4.1默认启动Hub 9.4.2配置Hub端口 9.4.3JSON配置文件 ★9.5Selenium 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.2Jenkins ★10.3Web前端性能 10.3.1BrowserMob Proxy 10.3.2HttpWatch ★10.4Ruby的光芒 10.4.1Watir-WebDriver 10.4.2Capybara ★10.5JMeter ★10.6Sikuli ★10.7小结 参考文献