【内容简介】

本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:第1部分基础篇主要讲解自动化测试相关的基础理论、WebDriver 环境安装、单元测试工具的使用方法以及 WebDrvier的入门使用实例,第2部分实战应用篇基于丰富的实战案例讲解页面元素的定位方法以及 WebDriver 的常用API使用方法,第3部分自动化测试框架搭建篇深入讲解了页面对象的设计模式以及分布式并发执行测试框架、数据驱动测试框架、行为驱动测试框架和关键字驱动测试框架的实例源码。第4部分为常见问题和姐解决办法,讲解了WebDriver使用过程中的常见疑难问题和解决办法。

【作者简介】

晓华 软件测试界的一个老兵,从事软件测试工作13年,曾任职中国国际电子商务中心、搜狐公司、搜狗公司、Tom在线以及一三九移动互联网,曾任职测试主管、测试专家和测试经理,光荣之路软件测试开发免费公开课创始人,热爱软件测试行业,热衷于传递软件测试行业的很好实践经验,超过1万人次参加过光荣之路的网络直播公开课,公开课视频的下载量超过15万次,受到广大测试从业人员的好评。

【目录】

第一篇 基础篇

第1章 Selenium简介 1

1.1 Selenium的前世今生 1

1.2 Selenium工具套件介绍 2

1.3 Selenium 1和Selenium 2支持的浏览器和平台 2

1.3.1 Selenium IDE、Selenium 1和Selenium RC支持的浏览器和平台 2

1.3.2 Selennium 2(WebDriver)支持的浏览器 3

1.4 Selenium RC和WebDriver的实现原理 4

1.4.1 Selenium RC的实现原理 4

1.4.2 WebDriver的实现原理 6

1.4.3 Selenium 1和WebDriver的特点 6

第2章 自动化测试的那点事儿 7

2.1 自动化测试目标 7

2.2 管理层的支持 10

2.3 投入产出比 10

2.4 敏捷开发中的自动化测试应用 11

2.5 自动化测试人员分工 13

2.6 自动化测试工具的选择和推广使用 13

2.6.1 自动化测试工具的选择 13

2.6.2 Selenium WebDriver和QTP的工具特点比较 14

2.7 在项目中实施自动化的最佳实践 15

2.8 学习Selenium工具的能力要求 17

第3章 自动化测试辅助工具 18

3.1 Firefox浏览器的安装 18

3.2 安装Firebug插件 18

3.3 Firebug插件的使用 19

3.3.1 启动Firebug插件 20

3.3.2 Firebug插件的常用功能 20

3.4 安装FirePath插件 22

3.5 FirePath插件的使用 23

3.5.1 FirePath插件中使用XPath定位方式 23

3.5.1 FirePath插件中使用CSS定位方式 25

3.6 IE浏览器自带的辅助开发工具 27

第4章 Selenium IDE 29

4.1 什么是Selenium IDE 29

4.2 安装Selenium IDE 29

4.2.1 从Selenium官网安装 29

4.2.2 使用下载的XPI安装文件安装 31

4.3 Selenium IDE插件界面和功能介绍 31

4.3.1 主界面 31

4.3.2 常用工具栏 32

4.3.3 脚本编辑区域 32

4.4 常用菜单项 32

4.4.1 “文件”菜单 32

4.4.2 “编辑”菜单 33

4.4.3 Actions菜单 33

4.4.4 Options菜单 34

4.5 录制和回放的脚本实例 35

4.6 Selenium IDE脚本介绍――Selenese 37

4.7 Selenium IDE的基本命令使用实例 38

4.7.1 waitforText、verifyText和assertText命令 38

4.7.2 storeTitle和echo命令 41

4.7.3 openWindow和selectWindow命令 41

4.8 从Selenium IDE导出脚本 42

4.8.1 导出脚本文件 42

4.8.2 将Selenium IDE插件中的某行脚本导出为Java脚本 44

第5章 搭建Java环境和Eclipse集成开发环境 45

5.1 安装Java JDK,配置Java环境 45

5.1.1 下载JDK 1.6版本安装文件 45

5.1.2 安装JDK 1.6版本 47

5.1.3 配置Java环境变量 48

5.2 安装Java IDE开发工具Eclipse 51

5.3 新建一个Java工程和一个类 53

5.4 Eclipse集成开发环境的使用技巧 56

5.4.1 将程序代码和注释字体变大 56

5.4.2 自动补全功能 57

第6章 WebDriver的安装配置 58

6.1 在Eclipse中配置WebDriver 58

6.2 第一个WebDriver脚本 61

第7章 单元测试框架的基本使用介绍 63

7.1 什么是单元测试 63

7.2 JUnit单元测试框架 63

7.2.1 什么是JUnit 63

7.2.2 安装JUnit 4 63

7.2.3 JUnit的常见注解 65

7.2.4 创建JUnit 4 Test Suite 70

7.2.5 使用JUnit编写的WebDriver脚本 72

7.3 TestNG单元测试框架 73

7.3.1 什么是TestNG 73

7.3.2 TestNG的优点 74

7.3.3 编写TestNG测试用例的步骤 74

7.3.4 安装TestNg 74

7.3.5 在TestNG中运行第一个WebDriver测试用例 77

7.3.6 TestNG 的常用注解 81

7.3.7 测试集合 85

7.3.8 测试用例的分组 87

7.3.9 依赖测试 90

7.3.10 特定顺序执行测试用例 91

7.3.11 跳过某个测试方法 92

7.3.12 测试报告中的自定义日志 93

7.3.13 断言 94

第8章 页面元素的定位方法 97

8.1 定位页面元素方法的汇总 97

8.2 使用ID定位 97

8.3 使用name定位 98

8.4 使用链接的全部文字定位 99

8.5 使用部分链接文字定位 99

8.6 使用标签名称定位 100

8.7 使用Class名称定位 101

8.8 使用XPath定位 101

8.8.1 什么是XPath 101

8.8.2 XPath语法 102

8.9 CSS定位 107

8.9.1 什么是CSS 107

8.9.2 CSS语法 107

8.9.3 XPath定位和CSS定位的比较 111

8.10 jQuery定位 112

8.10.1 什么是jQuery 112

8.10.2 jQuery的定位代码实例 112

8.11 表格的定位方法 114

8.11.1 遍历表格的全部单元格 114

8.11.2 定位表格中的某个单元格 116

8.11.3 定位表格中的子元素 117

第二篇 实战应用篇

第9章 WebDriver的多浏览器测试 119

9.1 使用IE浏览器进行测试 119

9.2 使用Firefox浏览器进行测试 120

9.3 使用Chrome浏览器进行测试 121

9.4 使用Mac系统中的Safari浏览器进行测试 122

9.5 使用TestNG进行并发兼容性测试 123

第10章 WebDriver API实例详解 127

10.1 访问某网页地址 127

10.2 返回上一个访问的网页(模拟单击浏览器的后退功能) 127

10.3 从上次访问网页前进到下一个网页(模拟浏览器的前进功能) 128

10.4 刷新当前网页 128

10.5 操作浏览器窗口 128

10.6 获取页面的Title属性 129

10.7 获取页面的源代码 129

10.8 获取当前页面的URL地址 130

10.9 在输入框中清除原有的文字内容 130

10.10 在输入框中输入指定内容 131

10.11 单击按钮 131

10.12 双击某个元素 132

10.13 操作单选下拉列表 132

10.14 检查单选列表的选项文字是否符合期望 133

10.15 操作多选的选择列表 134

10.16 操作单选框 135

10.17 操作复选框 136

10.18 杀掉Windows的浏览器进程 137

10.19 将当前浏览器的窗口截屏 137

10.20 检查页面元素的文本内容是否出现 138

10.21 执行JavaScript脚本 138

10.22 拖曳页面元素 139

10.23 模拟键盘的操作 139

10.24 模拟鼠标右键事件 140

10.25 在指定元素上方进行鼠标悬浮 140

10.26 在指定元素上进行鼠标单击左键和释放的操作 142

10.27 查看页面元素的属性 143

10.28 获取页面元素的CSS属性值 143

10.29 隐式等待 144

10.30 常用的显式等待 145

10.31 自定义的显式等待 146

10.32 判断页面元素是否存在 148

10.33 使用Title属性识别和操作新弹出浏览器窗口 149

10.34 使用页面的文字内容识别和处理新弹出的浏览器窗口 150

10.35 操作JavaScript的Alert弹窗 151

10.36 操作JavaScript的confirm弹窗 152

10.37 操作JavaScript的prompt弹框 153

10.38 操作Frame中的页面元素 154

10.39 使用Frame中的HTML源码内容来操作Frame 156

10.40 操作IFrame中的页面元素 157

10.41 操作浏览器的Cookie 159

第11章 WebDriver的高级应用实例 160

11.1 使用JavaScriptExecutor单击元素 160

11.2 在Ajax方式产生的浮动框中,单击选择包含某个关键字的选项 161

11.3 设置一个页面对象的属性值 163

11.4 在日期选择器上进行日期选择 165

11.5 如何能够无人工接入的自动化下载某个文件 166

11.6 使用sendKeys方法上传一个文件附件 169

11.7 使用第三方工具AutoIt上传文件 170

11.8 操作Web页面的滚动条 175

11.9 启动带有用户配置信息的Firefox浏览器窗口 177

11.10 Robot对象操作键盘 179

11.11 对象库(UI Map) 182

11.12 操作富文本框 185

11.13 精确比较网页截图图片 189

11.14 高亮显示正在被操作的页面元素 191

11.15 在测试中断言失败的步骤进行屏幕截图 193

11.16 使用Log4j在测试过程中打印执行日志 198

11.17 封装操作表格的公用类 202

11.18 控制HTML5语言实现的视频播放器 205

11.19 在HTML 5的画布元素上进行绘画操作 207

11.20 操作HTML 5的存储对象 209

第三篇 自动化测试框架搭建篇

第12章 数据驱动测试 211

12.1 什么是数据驱动 211

12.2 使用TestNG进行数据驱动 211

12.3 使用TestNG和CSV文件进行数据驱动 214

12.4 使用TestNG、Apache POI和Excel文件进行数据驱动测试 216

12.5 使用MySQL数据库实现数据驱动测试 219

第13章 页面对象(Page Object)模式 224

13.1 页面对象模式简介 224

13.2 使用PageFactory类 225

13.2.1 使用PageFactory类给测试类提供待操作的页面元素 225

13.2.2 使用PageFactory类封装页面元素的操作方法 226

13.3 使用LoadableComponent类 228

13.4 多个PageObject的自动化测试实例 230

第14章 行为驱动测试 237

14.1 行为驱动开发和Cucumber简介 237

14.2 Cucumber在Eclipse中的环境搭建 238

14.3 在Eclipse中使用Junit和英文语言进行行为驱动测试 240

14.4 在Eclipse中使用JUnit和中文语言进行行为驱动测试 247



第15章 Selenium-Grid的使用 251

15.1 Selenium Grid简介 251

15.2 Selenium Grid的使用方法 252

15.2.1 远程使用FireFox浏览器进行自动化测试 252

15.2.2 远程使用IE浏览器自动化测试 256

15.3 通过TestNG使用Firefox、IE和Chrome浏览器进行并发的远程自动化测试 258

15.3.1 使用静态类实现并发的远程自动化测试 259

15.3.2 通过TestNG的配置文件参数方法进行远程并发自动化测试 262

15.4 使用Selenium Grid时,在远程节点计算机进行 屏幕截屏 267

第16章 自动化测试框架的Step By Step搭建及测试实战 270

16.1 什么是自动化测试框架 270

16.2 数据驱动框架及实战 272

16.3 关键字框架搭建及实战 303

第四篇 常见问题和解决方法

第17章 自动化测试常见问题和解决方法 365

17.1 如何让WebDriver支持IE 11? 365

17.2 “Unexpected error launching Internet Explorer. Browser zoom 

level was set to 75%(或其他百分比)”的错误如何解决 366

17.3 如何消除Chrome浏览中的--ignore-certificate-errors提示 367

17.4 为什么在某些IE浏览器中输入数字和英文特别慢 367

17.5 常见异常和解决方法 368

京东-Selenium WebDriver实战宝典