书籍作者:虫师 | ISBN:9787121369247 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3721 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书共分14章,第1章介绍了自动化测试相关的基础知识。第2章到第10章是本书的重点,从环境搭建,到WebDriver API介绍,再到单元测试框架的使用,循序渐进地介绍了自动化测试所用到的知识,最后再通过项目将这些知识串联起来。第11章详细介绍了如何使用Jenkins配置自动化测试项目。第12章到第14章介绍了移动自动化测试工具appium的使用。本书的写作目的并不是简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提升技术高度、拓展技术宽度,从而摆脱简单的手工测试,向高级测试工程师迈进。
虫师,2011年6月开始在博客园持续分享测试技术和经验,在自动化测试、性能测试方面有着丰富实战经验,另外,对Web开发技术也有一定的积累。前后担任高级测试工程师、测试开发工程师,以及测试Leader等职位。
《Selenium3自动化测试实战——基于Python语言》重要知识点总结如下:
(1) Python3 编程语言基础精讲
(2) 通过20个例子展示WebDriver API 的使用场景
(3) unittest & pytest 两大单元测试框架全面介绍
(4) 数据驱动模型在项目中的应用
(5) 通过自动化项目串联所有知识点
(6) Jenkins持续集成的安装与配置
(7) appium 移动测试工具的应用
前 言
《Selenium2 自动化测试实战——基于Python 语言》出版后,我陆续收到许多反馈,有很多同学(我习惯这么称呼软件测试的同行)通过这本书学会了Selenium 自动化测试,这是我写这本书的初衷,能在你学习测试技术的道路上提供一点点帮助,我感到非常高兴!也有同学向我反馈了书中的一些错误,在此深表感谢。
随着我在自动化测试技术上的积累,我越发觉得《Selenium2 自动化测试实战——基于Python 语言》一书有许多不足之处,有些内容已经过时,有些技术需要更进一步的探讨。2017 年的时候我萌生要写第二版的想法,当时只是想对少部分内容进行修改,直接到2018年下半年才开始动笔重新整理内容。我写书的方式是一遍遍地修改书中的内容,所以,虽然不是从头到尾写一本新书,但也花费了半年之久。
前面的章节安排与《Selenium2 自动化测试实战——基于Python 语言》一书相比,变化不大,但里面的内容都有改动,主要是替换或修改了里面的例子。随着我对自动化测试的理解,更正了前一本书中的部分观点。
(1)加入了pytest 单元测试框架的使用方法,与unittest 相比,pytest 的功能更加强大,而且还有丰富的扩展库,更适合用来做自动化测试。
(2)补充了Jenkins 的使用方法。
(3)增加了3 章appium 移动自动化测试工具的介绍。随着移动互联网的发展,移动自动化测试几乎成为测试人员必备技能之一,appium 正是在Selenium 的基础上扩展而来的自动化工具。
当然,在上一本的基础上,本书也删减了部分内容。
(1)删掉了Selenium IDE 相关的内容,越来越多的测试人员使用WebDriver 编写自动化脚本,Selenium IDE 作为浏览器的自动化插件,已经很少有同学单独使用它完成大型自动化项目了。
(2)删掉了Python 多线程相关的内容。多线程的优点是可以提高自动化测试的执行速度,缺点是降低了自动化的稳定性。本书介绍了减少测试用例执行时间的其他方法。
(3)删掉了BDD 行为驱动开发相关的内容,本书更聚焦于自动化测试技术,所以,其他技术请参考专业的书进行学习。
本书在命名时也颇为纠结,本书的内容属于《Selenium2 自动化测试实战——基于Python 语言》升级版,如果命名为《Selenium2 自动化测试实战——基于Python 语言(第二版)》可以看出这种继承关系,但是书中内容是基于Selenium3 编写的,所以最终命名为《Selenium3 自动化测试实战——基于Python 语言》。
在本书出版之际,Selenium4 已在开发当中,从Selenium 官方给出的消息来看,Selenium4 对于本书的内容影响很小。
最后,由于作者水平有限,书中难免有错误之处,希望你能将错误反馈给我,我将感激不尽。感谢编辑安娜,没有她的帮助本书无法出版。感谢读者的厚爱,正是你们的鼓励
和支持,才使我有动力完成本书。
虫师
2019 年6 月
第1 章 自动化测试基础 . 1
1.1 分层的自动化测试 1
1.2 适合自动化测试的项目 3
1.3 如何学习UI 自动化测试 4
1.4 Selenium 简介 4
1.5 appium 简介 . 8
第2 章 测试环境搭建 10
2.1 安装Python 10
2.2 安装Selenium 12
2.3 第一个Selenium 自动化测试脚本 . 12
2.4 浏览器驱动 13
第3 章 Python 基础 . 16
3.1 Python 哲学 16
3.2 输出 18
3.3 分支与循环 20
3.4 列表、元组与字典 22
3.5 函数、类和方法 25
3.6 模组 27
3.7 异常 34
3.8 新手常犯的错误 38
第4 章 WebDriver API 40
4.1 从定位元素开始 40
4.2 控制浏览器 52
4.3 WebDriver 中的常用方法 53
4.4 鼠标操作 55
4.5 键盘操作 57
4.6 获得验证信息 58
4.7 设置元素等待 59
4.8 定位一组元素 63
4.9 多表单切换 64
4.10 多窗口切换 65
4.11 警告框处理 67
4.12 下拉框处理 69
4.13 上传文件 70
4.14 下载文件 72
4.15 操作Cookie 74
4.16 调用JavaScript . 75
4.17 处理HTML5 视频播放 . 77
4.18 滑动解锁 79
4.19 窗口截图 82
4.20 关闭窗口 83
第5 章 自动化测试模型 . 84
5.1 基本概念 84
5.2 自动化测试模型 85
5.3 模块化与参数化 86
5.4 读取数据文件 89
第6 章 unittest 单元测试框架 96
6.1 认识unittest 97
6.2 关于unittest 还需要知道的 . 108
6.2.1 测试用例的执行顺序 108
6.2.2 执行多级目录的测试用例 110
6.2.3 跳过测试和预期失败 111
6.2.4 Fixtures . 113
6.3 编写Web 自动化测试 . 114
第7 章 unittest 扩展 . 118
7.1 HTML 测试报告 118
7.2 数据驱动应用 124
7.3 自动发送邮件功能 134
第8 章 Page Object 140
8.1 认识Page Object 140
8.2 实现Paget Object . 141
8.2.1 Paget Object 简单实例 . 142
8.2.2 改进Paget Object 封装 143
8.3 poium 测试库 . 146
第9 章 pytest 单元测试框架 150
9.1 pytest 简单例子 150
9.2 pytest 的基本使用方法 152
9.3 pytest 扩展 163
9.4 构建Web 自动化测试项目 . 166
9.4.1 项目结构介绍 166
9.4.2 主要代码实现 168
9.4.3 测试用例的运行与测试报告 173
第10 章 Selenium Grid . 176
10.1 Selenium Grid 介绍 . 176
10.1.1 Selenium Server 环境配置 . 176
10.1.2 Selenium Grid 工作原理 178
10.2 Selenium Grid 应用 180
第11 章 Jenkins 持续集成 . 187
11.1 下载Tomcat 188
11.2 下载Jenkins . 189
11.3 安装配置Jenkins . 190
11.4 Jenkins 的基本使用 192
11.5 Selenium 自动化项目配置 197
第12 章 appium 的介绍与安装 210
12.1 appium 介绍 . 210
12.2 appium 环境搭建 . 215
12.2.1 Android Studio . 216
12.2.2 Android 模拟器 219
12.2.3 appium Desktop 222
12.2.4 Python Client 223
12.2.5 第一个appium 测试 223
第13 章 appium 基础 226
13.1 Desired Capabilities 226
13.2 控件定位 228
13.3 appium 的常用API 235
13.4 appium Desktop 243
13.4.1 准备工作 243
13.4.2 控件定位 245
13.4.3 脚本录制 246
第14 章 appium 测试实例 . 249
14.1 appium 应用测试 . 249
14.1.1 原生应用测试 249
14.1.2 移动Web 应用测试 . 250
14.1.3 混合应用测试 252
14.2 App 测试实战 254