Python Web自动化测试设计与实现

作者:陈晓伍

出版:清华大学出版社

年代:2019 更多图书信息

电子纸书:¥51.35 定价: ¥79 纸质书最低¥66.4起,点此购买

图书简介

本书是资深测试开发专家的经验结晶,由浅入深地阐释了Web自动化测试的相关技术,包括Web UI自动化测试、API自动化测试及测试相关的基础开发。通过学习本书,读者可以基本掌握Web测试相关的大部分技术点。本书是测试相关人员必备的技术指导。书中每个技术点都有示例代码,理论与实践相结合的方式能够使读者快速理解Web自动化测试。
本书循序渐进地讲解了Web自动化测试的各项知识点,使任何层级的读者都能从中受益。绪论部分介绍自动化方面的基础知识,帮助读者少走弯路,正确学会自动化测试。第1~3章介绍Selenium、Python以及Web UI自动化的相关基础知识。第4章和第5章介绍Selenium IDE和Selenium常规对象接口。第6章介绍Web UI自动化特殊场景处理。第7章介绍UnitTest单元测试框架。第8章介绍分层框架设计与实现。第9章介绍测试脚本的部署。第10章和第11章介绍Web API相关基础知识。第12章介绍通过Python发送HTTP请求。第13章介绍API工具的设计与实现。第14章介绍Web服务的集成工作。第15章介绍HTTP Mock的开发。
本书适合Web测试人员、Web自动化人员、Web开发人员等初中级读者以及希望使用Python作为编程语言的软件测试工程师参考。

(展开)

目录

绪论 1
第1章 Selenium基础 9
1.1 Selenium的历史和分支 9
1.2 Selenium的特点 12
1.3 Selenium名词说明 12
1.3.1 Selenium RC 12
1.3.2 Selenium Server 12
1.3.3 Selenium WebDriver 13
1.3.4 Selenium Client 13
1.3.5 Selenium Grid 13
1.3.6 Selenium IDE 13
1.4 Selenium基本原理 14
1.5 Selenium环境搭建 15
1.5.1 Windows环境搭建 16
1.5.2 Ubuntu环境搭建 22
1.5.3 MacOS环境搭建 26
1.6 Selenium调用不同浏览器 28
1.6.1 调用Firefox浏览器 28
1.6.2 调用Chrome浏览器 29
1.6.3 调用IE浏览器 30
1.6.4 IE浏览器安全机制设置 30
1.7 Selenium Docker的使用 31
1.7.1 Docker环境安装 32
1.7.2 Selenium Docker镜像下载 35
1.7.3 Docker下运行Selenium脚本 36
1.8 Selenium 3说明 38
1.8.1 不再支持Selenium RC 38
1.8.2 仅支持JDK 1.8.0以上版本 38
1.8.3 Selenium IDE支持Chrome插件 38
1.8.4 FireFox需要安装独立驱动 38
1.8.5 仅支持IE 9.0以上版本 39
1.8.6 支持微软的Edge浏览器 39
1.8.7 支持官方的SafariDriver 39

第2章 Python编程基础 41
2.1 基础语法 41
2.1.1 Python语句执行 41
2.1.2 Python语法格式 42
2.1.3 Python变量与类型 44
2.1.4 Python运算符与表达式 47
2.2 控制语句 52
2.2.1 if-else语句 52
2.2.2 for语句 53
2.2.3 while语句 53
2.2.4 continue语句 54
2.2.5 break语句 54
2.2.6 pass语句 55
2.3 模块化 55
2.3.1 函数 55
2.3.2 类与实例 59
2.3.3 模块文件 61
2.3.4 包 62
2.4 基础数据结构 63
2.4.1 列表 63
2.4.2 元组 64
2.4.3 字典 65
2.4.4 遍历数据 67
2.5 输入/输出 67
2.5.1 命令行输入/输出 67
2.5.2 文件输入/输出 69
2.6 内置函数 70
2.6.1 id函数 70
2.6.2 dir函数 71
2.6.3 help函数 71
2.6.4 type函数 72
2.6.5 isinstance函数 72
2.6.6 zip函数 72
2.6.7 filter函数 72
2.6.8 map函数 73
2.6.9 reduce函数 73
2.7 异常 73
2.7.1 异常捕获 73
2.7.2 自定义异常 75
2.8 魔法特性 76
2.8.1 列表推导式 76
2.8.2 迭代器 77
2.8.3 生成器 78
2.8.4 闭包 79
2.8.5 装饰器 79
2.8.6 内省机制 83
2.9 并发任务 86
2.9.1 多进程 86
2.9.2 多线程 91
2.9.3 协程 93
2.10 编解码 96
2.10.1 源码文件编码 97
2.10.2 解释器默认编码 98
2.10.3 外部文件编码 99
2.10.4 数据库编码 100
2.10.5 编解码函数 100

第3章 Web UI自动化基础 102
3.1 HTML与DOM简介 102
3.2 学习元素定位方式 104
3.3 CSS定位技术 106
3.4 使用工具帮助定位 106
3.4.1 IE的Developer Tool 107
3.4.2 Firefox的Web开发者工具 107
3.4.3 Chrome的开发者工具 108
3.4.4 Firefox的XPath Checker插件 108
3.4.5 Chrome的XPath工具 109
3.4.6 Firefox的CSS插件 109
3.4.7 Chrome的CSS工具 110
3.4.8 Firefox的WebDriver Element Locator插件 110
3.5 Selenium中进行元素定位 112
3.5.1 获取一个定位元素 112
3.5.2 获取一组定位元素 113
3.5.3 匹配非第一个元素 114

第4章 Selenium IDE 115
4.1 Selenium IDE安装 115
4.1.1 Firefox安装 115
4.1.2 Selenium IDE在线安装 116
4.1.3 Selenium IDE本地安装 117
4.2 Selenium IDE功能介绍 120
4.2.1 Selenium IDE窗口 120
4.2.2 菜单栏 121
4.2.3 地址栏 123
4.2.4 工具栏 124
4.2.5 用例管理区 124
4.2.6 用例脚本开发区 125
4.2.7 信息输出区 126
4.3 Selenium IDE使用 126
4.3.1 Selenium IDE录制与回放 126
4.3.2 Selenium IDE脚本编辑 128
4.3.3 Selenium IDE元素定位 138
4.3.4 Selenium IDE匹配模式 141
4.3.5 Selenium IDE脚本转换 143

第5章 Selenium常规对象接口 148
5.1 浏览器对象操作 148
5.1.1 查找元素方法 148
5.1.2 浏览器窗口方法 149
5.1.3 Cookie处理方法 149
5.2 WebElement对象操作 150
5.3 文本框对象操作 152
5.4 按钮对象操作 152
5.5 下拉列表对象操作 153
5.6 链接对象操作 154

第6章 Web UI自动化特殊场景处理 156
6.1 处理多窗口测试场景 156
6.2 处理浏览器弹框场景 158
6.2.1 Alert对象及方法 158
6.2.2 优雅地处理Alert弹框 159
6.3 Selenium进行键盘鼠标操作 160
6.3.1 键盘操作 160
6.3.2 鼠标操作 161
6.4 非Web控件的操作实现 162
6.5 Selenium执行JavaScript及操作DOM 164
6.6 Selenium截屏操作 165

第7章 UnitTest单元测试框架 167
7.1 常规使用方式 167
7.2 测试套件使用 169
7.3 TestLoader的使用 170
7.4 UnitTest加载流程 172

第8章 分层框架设计与实现 173
8.1 数据驱动层 174
8.1.1 文件存储 175
8.1.2 数据库存储 176
8.2 定位符驱动层 180
8.2.1 本地文件存储 181
8.2.2 远程服务存储 183
8.3 页面操作层 185
8.4 业务逻辑层 190
8.4.1 公共业务 190
8.4.2 常规业务 191
8.5 结果驱动层 193
8.5.1 日志Logger记录 193
8.5.2 自定义Logger记录 199
8.5.3 邮件通知结果 203
8.6 异常处理层 204
8.6.1 程序异常处理 204
8.6.2 断言异常处理 208
8.6.3 自定义异常类 209

第9章 测试脚本部署 211
9.1 使用SVN管理测试脚本 211
9.1.1 SVN服务安装 212
9.1.2 SVN客户端安装 217
9.1.3 SVN使用简介 219
9.1.4 SVN操作规范 223
9.2 远程执行用例场景 224
9.3 Selenium Grid模块及搭建 228
9.3.1 Selenium Grid环境搭建 229
9.3.2 Selenium Grid使用 232
9.4 持续集成的自动化测试 232

第10章 Web API介绍 236
10.1 HTTP简介 236
10.1.1 HTTP请求报文 237
10.1.2 HTTP响应报文 239
10.2 Web API介绍 240
10.3 REST API介绍 241

第11章 Web API自动化基础 243
11.1 正则表达式模块学习 243
11.1.1 字符搜索 244
11.1.2 字符替换和分割 246
11.1.3 表达式修饰符 246
11.1.4 其他事项 247
11.2 XML读写模块的学习 248
11.2.1 读取XML文档 249
11.2.2 写入XML文档 252
11.3 JSON模块的学习 253
11.3.1 JSON串生成 254
11.3.2 JSON串解析 256
11.4 MD5、BASE64编解码 256
11.4.1 BASE64编解码 257
11.4.2 MD5加密 258
11.4.3 数据序列化 259

第12章 Python发送HTTP请求 261
12.1 HTTP请求发送 261
12.1.1 requests模块安装 261
12.1.2 发送GET请求 262
12.1.3 发送POST请求 264
12.1.4 发送multipart/form-data请求 265
12.1.5 发送其他类型请求 266
12.2 HTTP请求认证 266
12.2.1 HTTP Basic Auth 267
12.2.2 HTTP Digest Auth 267
12.2.3 OAuth认证 268
12.2.4 自定义认证 268
12.3 URL的编解码 269
12.4 HTTP响应内容验证 271
12.4.1 状态码验证 271
12.4.2 响应头验证 272
12.4.3 响应体验证 273
12.5 多线程发送请求 276
12.5.1 函数式多线程 276
12.5.2 类继承式多线程 279

第13章 API工具设计与实现 282
13.1 最简单的API工具 282
13.1.1 请求方法设置 284
13.1.2 请求头设置 288
13.1.3 支持文件上传 289
13.1.4 简单结果验证 292
13.2 测试数据读取 293
13.2.1 测试数据格式 293
13.2.2 数据存储方式 294
13.2.3 实现数据读取 296
13.3 测试数据用例化 299
13.3.1 用例基本信息 299
13.3.2 用例套件信息 301
13.3.3 用例模板信息 302
13.4 测试流程控制 304
13.4.1 钩子函数接口设计 305
13.4.2 钩子函数接口调用 307
13.4.3 钩子函数接口实现 309
13.5 测试结果验证 311
13.5.1 完全匹配 311
13.5.2 内容包含 312
13.5.3 正则匹配 313
13.5.4 JSONPath 313
13.6 测试数据记录 315
13.6.1 结果记录 315
13.6.2 日志记录 317

第14章 集成为Web服务 319
14.1 Web服务简介 319
14.1.1 Web框架选择 320
14.1.2 DEMO实现 321
14.1.3 框架开发学习 322
14.2 Web上启动用例执行 330
14.2.1 运行参数接收 332
14.2.2 测试请求处理 335
14.3 Web上查看测试结果 337
14.3.1 任务列表页 338
14.3.2 用例结果页 340
14.4 持续集成的API自动化测试 342
14.4.1 用例集保存 342
14.4.2 用例集执行 345

第15章 HTTP Mock开发 347
15.1 HTTP Mock介绍 347
15.2 HTTP Mock分析 348
15.3 HTTP Mock实现 349
15.3.1 根据请求URL过滤 349
15.3.2 根据请求方法过滤 350
15.3.3 根据请求头过滤 352
15.3.4 根据请求数据过滤 353

参考文献 356
结束语 357
(展开)

书页展示

更多图书信息
数据来源于网络,如有问题,请反馈至此邮箱:service@bookask.com

作者:陈晓伍
出版:清华大学出版社

ISBN:9787302519294

出版日期:2019-04-01

清华大学出版社

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。作为来自一流大学的出版单位,清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。目前,清华版教材已在全国一百多所院校得到广泛使用。高品质、多层次的计算机图书是清华大学出版社的一大品牌支柱。20世纪80年代末,在席卷全球的信息化浪潮中,清华大学出版社快速切入计算机图书市场,逐渐成为并一直保持这一市场的领先地位,为发展中国计算机教育做出了巨大贡献。

(展开)

使用移动设备
扫描二维码下载客户端

注:目前仅提供安卓客户端下载

Copyright ©2020  BookAsk 书问  |  京ICP证160134号   |  

京公网安备 11010802026432号

  |  出版物经营许可证新出发京零字第海150168号   |  营业执照:91110108318038279C   |  网站地图   |  关于我们   |  合作伙伴   |  商务合作   |  友情链接