新書推薦:
《
新加坡教育:神话与现实
》
售價:HK$
96.3
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:HK$
291.2
《
绝美的奥伦堡蕾丝披肩编织
》
售價:HK$
177.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:HK$
177.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:HK$
109.8
《
中国常见植物野外识别手册:青海册
》
售價:HK$
76.2
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:HK$
87.4
《
迷人的化学(迷人的科学丛书)
》
售價:HK$
143.4
|
編輯推薦: |
1.基于Selenium 3 和 Selenium 4 Beta版本,系统讲述如何通过Selenium WebDriver、Selenium Grid、Appium等测试工具,组织测试,优化测试的模式,进而成功进行自动化测试
2.在Web功能测试领域,Selenium是非常强大的工具。本书不仅会详述Selenium系列工具的功能,还将探讨自动测试的核心问题,讲述如何更好地在实际项目中实施自动化测试,如何真正让自动化测试取得成效。
本书主要内容:
·Selenium IDE的用法;
·Selenium WebDriver的用法;
·Selenium Grid的用法;
·Appium的用法;
·实现和优化性能测试的方法;
·实现和优化功能能测试的方法;
·使用Jenkins进行持续集成的方法;
·选择自动化测试实施方式的思路。
|
內容簡介: |
本书共有19章。第1~10章介绍Selenium IDE、Selenium WebDriver、Selenium Grid、Appium等工具的应用。第11~16章介绍自动化测试实战的组织及模式优化,包括如何通过Selenium进行功能测试和非功能测试,如何完善功能测试驱动,如何设置功能测试的逻辑组织结构,如何优化功能测试的物理组织结构,如何增强功能测试的运行反馈机制。第17~19章讲述自动化实战的落实及实践优化。
本书适合测试人员和开发人员阅读。
|
關於作者: |
赵卓,新蛋科技有限公司电子商务研发团队项目经理,从事过多年测试工作和开发工作,精通各类开发和测试技术。编写过的图书有《Kubernetes从入门到实践》《Selenium自动化测试指南》,翻译过的图书有《精通Selenium WebDriver 3.0 (第2版)》《Visual Studio 2010软件测试指南》和《快速编码:高效使用Microsoft Visual Studio》。
|
目錄:
|
目 录
第 一部分 Selenium工具组
第 1章 Selenium自动化测试概览 3
1.1 自动化测试简介 3
1.2 Selenium简介 5
1.3 Selenium 4与Selenium 3的异同 6
1.4 Selenium工具集 7
1.4.1 Selenium IDE 7
1.4.2 Selenium WebDriver 8
1.4.3 Selenium Grid 8
1.4.4 Appium 8
第 2章 Selenium IDE的基本运用 10
2.1 Selenium IDE的安装 10
2.2 Selenium IDE的基本操作 12
2.2.1 录制与回放 13
2.2.2 保存回放文件 17
2.2.3 添加测试验证 18
2.2.4 导出测试脚本 20
2.2.5 其他运用 21
第3章 Selenium IDE的高级运用 23
3.1 Selenium IDE支持的5类命令 23
3.1.1 界面操作类命令 23
3.1.2 测试验证类命令 26
3.1.3 执行等待类命令 27
3.1.4 流程控制类命令 28
3.1.5 测试辅助类命令 29
3.2 测试套件管理 31
3.3 命令行运行器 33
3.3.1 安装并运行各个浏览器 34
3.3.2 常用参数设置 35
第4章 Selenium WebDriver的基本运用 38
4.1 Selenium WebDriver的安装与配置 38
4.1.1 配置驱动程序 38
4.1.2 配置环境变量 42
4.1.3 安装绑定语言 42
4.2 选择浏览器开始测试 43
4.3 浏览器窗口的基本操作 44
4.3.1 浏览器导航操作 44
4.3.2 浏览器窗口操作 45
4.3.3 获取浏览器信息 45
4.4 查找页面元素 47
4.4.1 按id属性查找 47
4.4.2 按name属性查找 48
4.4.3 按class属性查找 48
4.4.4 按链接文本查找 48
4.4.5 按链接文本进行模糊查找 50
4.4.6 按标签类型查找 50
4.4.7 按XPath查找 50
4.4.8 按CSS选择器查找 53
4.4.9 通过By对象按动态条件查找 55
4.4.10 查找元素集合 56
4.4.11 嵌套查找 57
4.5 页面元素的基本操作 57
4.5.1 单击元素 57
4.5.2 向元素输入内容或上传附件 59
4.5.3 清空元素的内容 60
4.5.4 提交表单元素 60
4.5.5 下拉框元素的选项操作 61
4.6 获取页面元素的内容 63
4.6.1 获取元素的基本属性 63
4.6.2 获取元素的HTML属性、
DOM属性及CSS属性 65
4.6.3 获取元素的位置与大小 69
4.6.4 获取下拉框元素的选项 70
4.7 处理浏览器弹出框 71
4.7.1 弹出框的确认与取消 73
4.7.2 获取弹出框的文本 73
4.7.3 向弹出框中输入内容 74
4.8 多网页切换操作 75
4.8.1 多浏览器窗口的切换 75
4.8.2 IFrame切换 77
4.9 结束WebDriver会话 78
第5章 Selenium WebDriver的高级运用 79
5.1 深入了解Selenium的等待机制 79
5.1.1 页面级等待机制 79
5.1.2 元素级等待机制—强制等待 80
5.1.3 元素级等待机制—隐式等待 81
5.1.4 元素级等待机制—显式等待 82
5.1.5 脚本级等待机制 87
5.2 对键盘和鼠标进行精准模拟 87
5.2.1 ActionChains——操作链 87
5.2.2 ActionChains支持的全部
鼠标与键盘操作设置 89
5.2.3 模拟复杂鼠标操作
案例——拖放操作 91
5.2.4 模拟复杂键盘操作
案例——组合键 93
5.3 操作浏览器Cookie 95
5.3.1 读取Cookie 95
5.3.2 新增和删除Cookie 96
5.4 对浏览器窗口或元素截图 97
5.4.1 对浏览器窗口截图 97
5.4.2 对元素截图 98
5.5 为Selenium操作附加自定义事件 99
5.5.1 附加WebDriver级自定义事件 99
5.5.2 附加元素级自定义事件 102
5.6 浏览器启动参数设置 103
5.6.1 WebDriver实例化参数 103
5.6.2 WebDriver启动选项设置 106
5.7 通过JavaScript执行器进行深度
操作 108
5.7.1 执行同步脚本——返回值与
类型转换 109
5.7.2 执行同步脚本——传入参数 110
5.7.3 执行同步脚本——复杂案例:
引入JavaScript库处理HTML5
拖曳 111
5.7.4 执行异步脚本 114
第6章 Selenium Grid的基本运用 117
6.1 Selenium Grid各组件的部署 118
6.1.1 部署Selenium Grid Hub 119
6.1.2 部署Selenium Grid Node 120
6.2 在Selenium Grid上运行测试 122
6.2.1 创建远程实例运行测试 122
6.2.2 远程实例管理 124
6.2.3 独立模式 125
第7章 Selenium Grid的高级运用 126
7.1 Selenium Grid详细参数设置 126
7.1.1 Hub与Node的功能参数设置 128
7.1.2 WebDriver浏览器参数设置 131
7.2 使用Selenium Grid进行分布式
并行测试 134
7.3 容器化Selenium—整合Docker 135
7.3.1 Docker简介 135
7.3.2 安装Docker并拉取Selenium
镜像 137
7.3.3 在同一台机器上部署
Selenium Grid镜像 139
7.3.4 在多台机器上部署
Selenium Grid组成集群 142
7.4 容器化Selenium—整合
Kubernetes 143
7.4.1 Kubernetes简介 144
7.4.2 Kubernetes的安装与配置 145
7.4.3 Kubernetes的关键概念——
Pod、Deployment、Service 146
7.4.4 在Kubernetes集群中部署
Selenium Grid 148
第8章 Selenium 4的新特性预览 152
8.1 Selenium WebDriver 4 152
8.1.1 下载WebDriver 152
8.1.2 相对定位器 153
8.1.3 显式等待组合逻辑 155
8.1.4 其他更新 156
8.2 Selenium Grid 4 158
8.2.1 下载与启动 158
8.2.2 运行测试 160
第9章 Appium的基本运用 162
9.1 Appium运行原理简介 162
9.2 Appium的安装与配置 164
9.2.1 安装Android SDK 164
9.2.2 安装Appium服务器 170
9.2.3 安装Appium客户端 171
9.3 使用Appium测试Web程序 172
9.3.1 设置浏览器驱动程序 172
9.3.2 编写代码操作Web应用程序 174
9.3.3 通过Appium工具查看元素
信息 175
9.3.4 其他替代方案 177
9.4 使用Appium测试App 178
9.4.1 连接真实的移动设备 179
9.4.2 解析启动属性appPackage
和appActivity 179
9.4.3 查看并定位界面元素 182
9.4.4 编写操作代码——微信登录
案例 184
第 10章 Appium的高级运用 186
10.1 Appium检测工具的具体功能 186
10.2 移动设备元素独有的定位 195
10.3 移动设备界面独有的操作 198
10.3.1 滑动操作与多点触控 198
10.3.2 触控操作链 201
10.3.3 剪贴板与虚拟键盘操作 204
10.4 移动设备App独有的操作 205
10.4.1 App的安装、卸载、启用、
关闭与隐藏 205
10.4.2 操作及获取当前的appPackage
和appActivity 208
10.5 移动设备系统独有操作 209
10.5.1 网络信号与通话 209
10.5.2 设备与电源管理 210
10.5.3 模拟GPS定位 211
10.6 测试辅助操作 212
10.6.1 屏幕录制 212
10.6.2 获取App性能消耗信息
及上下文信息 212
10.7 并行运行多个移动设备 214
10.8 将Appium加入Selenium Grid
集群 215
第二部分 自动化测试实战:
组织及模式优化
第 11章 使用Selenium进行功能测试 221
11.1 完善测试的基本要素 222
11.2 结合Pytest进行功能测试 224
11.2.1 Pytest的安装与简介 225
11.2.2 基于Pytest编写Selenium
测试 226
11.2.3 选择合适的执行方式 227
第 12章 完善功能测试驱动以规范测试 230
12.1 引言 230
12.2 线性测试 233
12.3 模块化与库 234
12.4 数据驱动 235
12.5 关键字驱动 235
12.6 使用驱动时的误区 236
12.6.1 数据驱动的误区 236
12.6.2 关键字驱动的误区 237
12.7 模式:混合驱动 238
12.7.1 混合第 一层驱动 238
12.7.2 混合第二层驱动 240
12.8 创建配置文件以应对不同环境 242
12.8.1 让公共信息支持多环境配置 242
12.8.2 让用例数据支持多环境
配置 243
第 13章 设计功能测试的逻辑组织结构 245
13.1 测试的前置操作与后置操作 245
13.1.1 Pytest setup与teardown功能
详解 245
13.1.2 前后置操作实际运用案例 247
13.2 设定测试函数的先后顺序 250
13.2.1 文件级执行顺序 250
13.2.2 函数级执行顺序 251
13.2.3 自定义顺序 251
13.3 测试粒度规划 252
13.3.1 小粒度的测试 252
13.3.2 中粒度的测试 253
13.3.3 大粒度的测试 254
第 14章 优化功能测试的物理组织结构 256
14.1 引言 256
14.2 通过页面对象规划待操作元素 261
14.3 通过继承关系组织公共元素 265
14.4 进一步解耦测试用例与操作
动作 268
14.4.1 解耦测试工具级操作 269
14.4.2 解耦页面元素级操作 274
14.5 通过流式编程技术简化测试代码 279
第 15章 增强功能测试的运行反馈机制 283
15.1 生成测试报告 283
15.2 并行运行测试 285
15.3 引入重试机制 286
第 16章 使用Selenium进行非功能
测试 287
16.1 网络爬虫 287
16.1.1 爬虫简介 287
16.1.2 使用Selenium实现爬虫 288
16.2 性能测试 291
16.2.1 多线程性能测试 291
16.2.2 结合JMeter进行测试 293
第三部分 自动化测试实战:
落实及实践优化
第 17章 自动化测试的规划 301
17.1 目标决定自动化测试的成败 301
17.1.1 必定走向失败的目标 301
17.1.2 能够引领成功的目标 304
17.2 测试设计决定自动化测试的成效 304
17.2.1 无效的测试设计 305
17.2.2 有效的测试设计 306
第 18章 使用Jenkins进行持续集成 308
18.1 必要概念与工具简介 308
18.1.1 持续集成与Jenkins简介 308
18.1.2 Jenkins的安装与配置 310
18.2 配置基于网站代码变化而自动
执行的Selenium脚本 315
18.2.1 编写一个基于Flask的网站 316
18.2.2 编写该网站的自动部署脚本 317
18.2.3 编写测试该网站的Selenium
测试脚本 319
18.2.4 在Jenkins中配置自动构建、
部署与执行测试 320
18.3 配置基于时间定期自动执行的
Selenium脚本 326
18.4 完善运行反馈配置 328
18.4.1 配置测试报告 328
18.4.2 配置邮件发送 329
第 19章 选择自动化测试的实施方式 334
19.1 不同产品架构与开发流程下的
自动化测试 334
19.2 以正确的数据说话——建立自动化
测试评估体系 336
19.3 打造自动化测试闭环 338
|
|