Web自动化测试与Selenium 3.0从入门到实践

作者
郎珑融
丛书名
出版社
机械工业出版社
ISBN
9787111661535
简要
简介
内容简介书籍计算机书籍 本书由浅入深,结合大量实际案例,重点讲解Selenium WebDriver在企业中的应用与实践。 本书分为三部分:第一部分为基础篇(第1、2章)主要讲解自动化基础理论、常用开发工具、安装及环境搭建;第二部分为入门篇(第3~8章),主要讲解企业常用技术Maven、Git的使用,并以丰富的实战案例讲解WebDriver的入门实例、页面的元素定位方法及常用API的使用方法;第三部分为进阶篇(第9~14章),主要讲解数据驱动测试、PageObject设计模式、自动化测试框架的搭建与持续集成、行为驱动测试框架的使用及分布式并行测试的使用。
目录
推荐序(一)
推荐序(二)
前言
第1章 自动化测试基础准备 1
1.1 自动化测试的概念 1
1.2 手工测试与自动化测试的区别 1
1.2.1 手工测试与自动化测试并不对立 1
1.2.2 手工测试的特点 2
1.2.3 自动化测试的特点 2
1.2.4 自动化测试与手工测试的关系 2
1.3 自动化测试中常见的误区 2
1.3.1 误区一:自动化测试就是用工具录制和回放 3
1.3.2 误区二:自动化测试能发现新Bug 3
1.3.3 误区三:会自动化测试就是测试开发工程师了 3
1.3.4 误区四:有了自动化测试就什么都不用做了 3
1.4 分层自动化测试思想 4
1.4.1 单元测试自动化 4
1.4.2 接口测试自动化 5
1.4.3 Web测试自动化 5
1.5 自动化测试流程 5
1.5.1 对被测系统进行调研 6
1.5.2 确定使用的开发语言 6
1.5.3 选择自动化测试项目 6
1.5.4 申请自动化测试资源 6
1.5.5 自动化测试用例筛选 7
1.5.6 编写自动化测试方案 7
1.5.7 自动化测试框架和脚本开发 7
1.5.8 框架演示 7
1.5.9 进入脚本开发阶段 7
1.5.10 脚本执行阶段 8
1.5.11 成果验收 8
1.6 编写自动化测试用例 8
1.6.1 自动化用例选择原则 8
1.6.2 编写自动化用例原则 8
1.6.3 编写自动化测试脚本原则 9
1.7 什么样的项目适合自动化测试 9
1.7.1 不适合自动化测试的情况 9
1.7.2 适合自动化测试的情况 9
1.8 Selenium的优势以及工作原理 10
1.8.1 支持的语言、平台、浏览器 10
1.8.2 Selenium的配套工具 10
1.8.3 Selenium与QTP的比较 10
1.8.4 Selenium的工作原理 11
1.9 小结 11
第2章 自动化开发环境搭建 12
2.1 安装及配置Java环境 12
2.1.1 下载JDK 12
2.1.2 环境变量配置 13
2.2 开发工具Eclipse的安装及配置 16
2.2.1 下载Eclipse 16
2.2.2 TestNG插件的安装及配置 17
2.2.3 Maven插件的安装及配置 19
2.2.4 新建一个Java工程和测试类 23
2.3 开发工具IDEA的安装及配置 26
2.3.1 下载和安装IDEA 27
2.3.2 IDEA主题和字体设置 30
2.3.3 与Eclipse操作习惯进行同步的设置 32
2.3.4 IDEA必备开发插件安装 33
2.3.5 IDEA常用的快捷键 33
2.3.6 使用IDEA创建一个Maven项目 34
2.3.7 IDEA中项目的JDK设置 37
2.3.8 使用IDEA编写第一个程序 38
2.4 小结 39
第3章 Maven基础入门 40
3.1 什么是Maven 40
3.2 为什么要使用Maven 40
3.3 Maven仓库的配置 41
3.3.1 仓库的分类 41
3.3.2 三类仓库之间的关系 41
3.3.3 本地仓库的配置 41
3.4 配置Maven私服地址 42
3.5 pom文件说明 42
3.6 在pom文件中添加依赖JAR包 43
3.6.1 手动添加依赖 44
3.6.2 Maven项目的结构 45
3.7 使用Maven编译和测试 46
3.7.1 编写一个主类 46
3.7.2 编写一个测试类 47
3.7.3 编译和测试 47
3.7.4 打包和运行 48
3.7.5 使用Archetype生成项目 51
3.8 小结 55
第4章 Git基础入门 56
4.1 Git介绍 56
4.1.1 什么是Git 56
4.1.2 为什么要使用Git 56
4.1.3 Git与SVN的区别 57
4.2 Git的工作流程 57
4.3 Git客户端配置 57
4.3.1 在Windows上安装Git 57
4.3.2 注册GitHub账号 58
4.3.3 配置个人的用户名和电子邮件地址 60
4.3.4 在客户端生成SSH key 60
4.3.5 配置SSH key添加公钥 61
4.4 Git常用操作 62
4.4.1 创建一个版本库 62
4.4.2 初始化本地仓库 63
4.4.3 添加和提交文件 63
4.4.4 将本地仓库和远程仓库相关联 63
4.4.5 查看版本的操作内容 64
4.4.6 版本回退操作 65
4.4.7 查看工作区状态 65
4.4.8 撤销修改操作 66
4.4.9 删除文件操作 66
4.4.10 分支操作 67
4.4.11 解决冲突操作 68
4.5 小结 69
第5章 页面元素定位 70
5.1 定位插件安装 70
5.1.1 旧版本Firefox定位插件安装 70
5.1.2 最新版本Firefox定位插件安装 72
5.1.3 Chrome浏览器定位插件安装 73
5.2 定位页面元素的方法 74
5.2.1 查看页面元素 75
5.2.2 常用元素定位方法 75
5.2.3 XPath定位方法详解 77
5.2.4 CSS定位方法详解 81
5.2.5 使用jQuery定位 86
5.2.6 table表格常见的定位操作 89
5.3 小结 92
第6章 主流测试框架TestNG的使用 93
6.1 TestNG的基本介绍 93
6.1.1 TestNG常见的代码 93
6.1.2 TestNG怎样执行测试 94
6.2 TestNG的使用 95
6.2.1 快速开始 95
6.2.2 注解及属性 97
6.2.3 套件测试 100
6.2.4 忽略测试 102
6.2.5 分组测试 103
6.2.6 异常测试 105
6.2.7 依赖测试 105
6.2.8 超时测试 106
6.2.9 参数化测试 108
6.2.10 多线程测试 110
6.2.11 TestNG断言 111
6.3 小结 115
第7章 从浏览器启动开始 116
7.1 启动Chrome浏览器 116
7.1.1 环境准备工作 116
7.1.2 下载ChromeDriver驱动 118
7.1.3 启动Chrome浏览器 118
7.2 启动IE浏览器 119
7.2.1 下载IEDriverServer 119
7.2.2 配置IE浏览器 120
7.2.3 启动IE浏览器 120
7.3 启动Firefox浏览器 121
7.3.1 启动旧版本的Firefox浏览器 121
7.3.2 启动最新版本的Firefox浏览器 122
7.4 启动Edge浏览器 123
7.4.1 下载Microsoft WebDriver 123
7.4.2 启动Edge浏览器 124
7.5 多浏览器并行测试 124
7.6 小结 127
第8章 WebDriver常用API使用详解 128
8.1 浏览器操作 128
8.1.1 访问某个网站 128
8.1.2 浏览器最大化 129
8.1.3 浏览器前进和后退操作 129
8.1.4 浏览器刷新操作 129
8.1.5 浏览器窗口操作 130
8.1.6 获取页面标题 130
8.1.7 获取页面源代码信息 130
8.1.8 获取当前页面URL地址 131
8.1.9 关闭浏览器操作 131
8.2 元素操作 131
8.2.1 点击操作 132
8.2.2 输入操作 133
8.2.3 获取页面元素文本的操作 134
8.2.4 获取页面元素标签名称的操作 134
8.2.5 获取页面元素属性值的操作 134
8.2.6 获取页面元素尺寸的操作 135
8.2.7 获取页面元素CSS样式的操作 135
8.2.8 获取页面元素坐标的操作 135
8.2.9 获取多个页面元素的操作 136
8.3 鼠标事件和键盘事件的操作 136
8.3.1 鼠标悬浮操作 137
8.3.2 鼠标单击操作 138
8.3.3 鼠标双击操作 139
8.3.4 鼠标移动操作 139
8.3.5 鼠标右击操作 139
8.3.6 按住鼠标按键和释放鼠标按键的操作 139
8.3.7 鼠标拖曳操作 139
8.3.8 模拟键盘操作 145
8.4 Selenium中常见的等待 146
8.4.1 实际案例 146
8.4.2 强制等待 147
8.4.3 页面等待 148
8.4.4 隐式等待 149
8.4.5 显式等待 150
8.5 Selenium中的窗口切换处理 153
8.5.1 常用切换方法 153
8.5.2 两个窗口切换 153
8.5.3 多个窗口切换 155
8.6 iframe切换处理 158
8.6.1 常用切换方法 158
8.6.2 使用iframe标签位置切换 159
8.6.3 使用元素对象进行iframe切换 159
8.6.4 使用id属性进行iframe切换 159
8.6.5 使用name属性进行iframe切换 160
8.6.6 iframe切换操作实例 160
8.7 弹窗处理 163
8.7.1 弹窗分类 163
8.7.2 弹窗处理常用方法 163
8.7.3 Alert弹窗处理 164
8.7.4 Confirm弹窗处理 165
8.7.5 Prompt弹窗处理 165
8.8 单选框和复选框处理 166
8.8.1 什么是单选框和复选框 166
8.8.2 判断是否选中 167
8.8.3 单选框处理 167
8.8.4 复选框处理 167
8.9 下拉框处理 168
8.9.1 处理下拉框的常见方法 168
8.9.2 下拉框处理 169
8.10 Cookie操作 170
8.10.1 获取Cookie 170
8.10.2 获取Cookie个数 170
8.10.3 删除所有Cookie 170
8.10.4 设置Cookie 171
8.10.5 通过Cookie跳过登录验证码 171
8.11 调用JavaScript操作 173
8.11.1 Selenium调用JS的用法 174
8.11.2 使用Selenium调用JS实例 174
8.12 上传文件操作 175
8.12.1 普通控件上传 175
8.12.2 通过Robot对象上传文件 176
8.12.3 借助AutoIt完成上传文件的操作 177
8.13 滚动条操作 181
8.13.1 滚动条处理方法 181
8.13.2 常见滚动条处理案例 181
8.14 截图操作 182
8.14.1 通过TakeScreenshout类实现截图 182
8.14.2 通过Robot对象截图 183
8.14.3 截取目标区域的图片 183
8.15 录制屏幕操作 184
8.15.1 安装及配置 184
8.15.2 录制视频操作 185
8.16 富文本操作 187
8.16.1 富文本编辑器 187
8.16.2 通过键盘事件实现输入操作 187
8.16.3 通过进入iframe实现输入操作 188
8.16.4 通过执行JS实现输入操作 188
8.17 日期控件操作 189
8.17.1 通过js设置日期 189
8.17.2 通过iframe设置日期 190
8.18 Ajax浮动框操作 190
8.18.1 什么是Ajax浮动框 190
8.18.2 Ajax浮动框处理 191
8.19 下载文件到指定的操作 192
8.19.1 Firefox自动下载文件到指定的操作 192
8.19.2 Chrome自动下载文件到指定的操作 194
8.20 使用SikuliX操作Flash网页 196
8.20.1 实际操作案例 196
8.20.2 安装及配置 196
8.20.3 使用SikuliX操作Flash网页 197
8.21 小结 199
第9章 数据驱动测试 201
9.1 数据驱动测试介绍 201
9.2 利用DataProvider进行数据驱动测试 201
9.3 利用CSV文件进行数据驱动测试 203
9.3.1 创建CSV数据源文件 203
9.3.2 利用CSV文件进行数据驱动测试 203
9.4 利用Excel文件进行数据驱动测试 204
9.4.1 创建Excel数据源文件 205
9.4.2 进行数据驱动测试 205
9.4.3 验证使用Excel进行数据驱动测试 208
9.5 利用YAML文件进行数据驱动测试 208
9.5.1 创建YAML数据源文件 208
9.5.2 进行数据驱动测试 209
9.5.3 验证使用YAML进行数据驱动测试 210
9.6 利用MySQL数据库进行数据驱动测试 210
9.6.1 数据源准备 210
9.6.2 进行数据驱动测试 211
9.6.3 验证使用MySQL进行数据驱动测试 212
9.7 小结 213
第10章 Page Object设计模式 214
10.1 Page Object设计模式介绍 214
10.1.1 什么是Page Object设计模式 214
10.1.2 Page Object实际应用案例 215
10.2 Page Factory设计模式 217
10.2.1 @FindBy和@CacheLookup的用法 218
10.2.2 Page Factory类的使用 218
10.2.3 Page Factory模式实际应用案例 218
10.3 小结 222
第11章 手把手教你搭建一个自动化测试框架 223
11.1 为什么要编写自动化测试框架 223
11.2 框架设计思路与实现 224
11.2.1 框架设计思路 224
11.2.2 准备工作 224
11.2.3 Log4j日志配置 227
11.2.4 基础层的实现 228
11.3 元素对象的管理与实现 228
11.3.1 解析Excel文件 229
11.3.2 By对象的封装 231
11.3.3 元素对象层的再封装 233
11.3.4 操作层的实现 234
11.3.5 业务层的实现 234
11.4 测试报告的美化 235
11.5 小结 239
第12章 行为驱动框架Cucumber的使用 240
12.1 BDD框架之Cucumber初探 240
12.1.1 什么是Cucumber 240
12.1.2 何为BDD 240
12.1.3 Feature介绍 240
12.1.4 Step介绍 241
12.1.5 Cucumber的使用 241
12.1.6 如何执行 244
12.2 使用Cucumber 进行参数化测试 245
12.2.1 什么是参数化 245
12.2.2 Cucumber的数据驱动 245
12.2.3 编写测试用例文件 245
12.2.4 创建业务测试代码部分 246
12.3 Cucumber操作实例 247
12.3.1 编写测试用例文件 247
12.3.2 创建一个Step定义文件 247
12.3.3 创建一个Runner类文件 248
12.4 小结 249
第13章 持续集成工具Jenkins的使用 250
13.1 Jenkins的安装 250
13.1.1 什么是Jenkins 250
13.1.2 Jenkins构建过程 250
13.1.3 安装及启动 251
13.2 Jenkins的配置 256
13.2.1 Jenkins插件的安装 256
13.2.2 JDK、Maven和Git的配置 257
13.2.3 Jenkins创建一个任务 258
13.3 Jenkins的邮箱配置 260
13.3.1 获取邮箱服务器相关信息 261
13.3.2 开启QQ邮箱的SMTP服务 261
13.3.3 安装Email Extension Plugin插件 262
13.3.4 Jenkins邮箱的全局配置 263
13.3.5 项目Job的邮箱配置 264
13.4 Cucumber与Jenkins持续集成 266
13.4.1 添加ExtentReports测试报告 266
13.4.2 Cucumber入口类 267
13.4.3 使用Jenkins持续集成 268
13.5 小结 271
第14章 Selenium Grid的使用 273
14.1 环境搭建准备 273
14.1.1 什么是Selenium Grid 273
14.1.2 搭建Selenium Grid服务 273
14.2 Selenium Grid实例 276
14.3 小结 279
参考文献 280




有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4