第 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.2.1 打印 .......................................................................................................... 18
3.2.2 引号与注释 .............................................................................................. 19
3.3分支与循环 .......................................................................................................... 20
3.3.1 if语句 ....................................................................................................... 20
3.3.2 for语句 .................................................................................................... 21
3.4列表、元组与字典 .............................................................................................. 22
3.4.1 列表 .......................................................................................................... 22
3.4.2 元组 .......................................................................................................... 23
3.4.3 字典 .......................................................................................................... 24
3.5函数、类和方法 .................................................................................................. 25
3.5.1 函数 .......................................................................................................... 25
3.5.2 类和方法 .................................................................................................. 26
3.6模组 ...................................................................................................................... 27
3.6.1 调用模块 .................................................................................................. 27
3.6.2 自定义模块 .............................................................................................. 30
3.6.3 跨目录调用文件 ...................................................................................... 31
3.6.4 编写自测代码 .......................................................................................... 33
3.7异常 ...................................................................................................................... 34
3.7.1 认识异常 .................................................................................................. 34
3.7.2 更多异常用法 .......................................................................................... 37
3.7.3 抛出异常 .................................................................................................. 37
3.8新手常犯的错误 .................................................................................................. 38
第 4章 WebDriver API ................................................................................................ 40
4.1从定位元素开始 .................................................................................................. 40
4.1.1 id定位 ...................................................................................................... 44
4.1.2 name定位 ................................................................................................ 44
4.1.3 class定位 ................................................................................................. 44
4.1.4 tag定位 .................................................................................................... 44
4.1.5 link定位 ................................................................................................... 45
4.1.6 partial link定位 ........................................................................................ 45
4.1.7 XPath定位 ............................................................................................... 46
4.1.8 CSS定位 .................................................................................................. 48
4.1.9 用 By定位元素 ....................................................................................... 51
4.2控制浏览器 .......................................................................................................... 52
4.2.1 控制浏览器窗口大小 .............................................................................. 52
4.2.2 控制浏览器后退、前进 .......................................................................... 52
4.2.3 模拟浏览器刷新 ...................................................................................... 53
4.3 WebDriver中的常用方法 .................................................................................... 53
4.4鼠标操作 .............................................................................................................. 55
4.5键盘操作 .............................................................................................................. 57
4.6获得验证信息 ...................................................................................................... 58
4.7设置元素等待 ...................................................................................................... 59
4.7.1 显式等待 .................................................................................................. 60
4.7.2 隐式等待 .................................................................................................. 62
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
5.4.1 读取 txt文件 ............................................................................................ 89
5.4.2 读取 CSV文件 ........................................................................................ 91
5.4.3 读取 XML文件 ....................................................................................... 92
5.4.4 读取 JSON文件 ....................................................................................... 94
第 6章 unittest单元测试框架 ...................................................................................... 96
6.1认识 unittest.......................................................................................................... 97
6.1.1 认识单元测试 .......................................................................................... 97
6.1.2 重要的概念 ............................................................................................ 100
6.1.3 断言方法 ................................................................................................ 103
6.1.4 测试用例的组织与 discover方法 ......................................................... 104
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.1.1 下载与安装 ............................................................................................ 118
7.1.2 生成 HTML测试报告 ........................................................................... 119
7.1.3 更易读的测试报告 ................................................................................ 121
7.1.4 测试报告文件名 .................................................................................... 123
7.2数据驱动应用 .................................................................................................... 124
7.2.1 数据驱动 ................................................................................................ 125
7.2.2 Parameterized ......................................................................................... 128
7.2.3 DDT ........................................................................................................ 130
7.3自动发送邮件功能 ............................................................................................ 134
7.3.1 Python自带的发送邮件功能 ................................................................ 134
7.3.2 用 yagmail发送邮件 ............................................................................. 136
7.3.3 整合自动发送邮件功能 ........................................................................ 137
第 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
8.3.1 基本使用 ................................................................................................ 147
8.3.2 更多用法 ................................................................................................ 148
第 9章 pytest单元测试框架 ...................................................................................... 150
9.1 pytest简单例子 .................................................................................................. 150
9.2 pytest的基本使用方法 ...................................................................................... 152
9.2.1 断言 ........................................................................................................ 152
9.2.2 Fixture .................................................................................................... 153
9.2.3 参数化 .................................................................................................... 157
9.2.4 运行测试 ................................................................................................ 158
9.2.5 生成测试报告 ........................................................................................ 160
9.2.6 conftest.py .............................................................................................. 162
9.3 pytest扩展 .......................................................................................................... 163
9.3.1 pytest-html.............................................................................................. 163
9.3.2 pytest-rerunfailures................................................................................. 164
9.3.3 pytest-parallel扩展 ................................................................................ 165
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
10.2.1 Remote实例 ......................................................................................... 181
10.2.2 Grid执行过程 ...................................................................................... 183
10.2.3 创建远程节点 ...................................................................................... 185
第 11章 Jenkins持续集成 ......................................................................................... 187
11.1下载 Tomcat...................................................................................................... 188
11.2下载 Jenkins ..................................................................................................... 189
11.3安装配置 Jenkins ............................................................................................. 190
11.4 Jenkins的基本使用.......................................................................................... 192
11.4.1 创建一个构建任务 .............................................................................. 192
11.4.2 运行 Python测试 ................................................................................. 195
11.4.3 安装插件 .............................................................................................. 196
11.5 Selenium自动化项目配置 .............................................................................. 197
11.5.1 配置 Git/GitHub ................................................................................... 197
11.5.2 配置项目运行 ...................................................................................... 200
11.5.3 配置 HTML报告 ................................................................................. 201
11.5.4 配置构建统计 ...................................................................................... 204
11.5.5 配置自动发送邮件 .............................................................................. 205
第 12章 appium的介绍与安装 .................................................................................. 210
12.1 appium介绍 ..................................................................................................... 210
12.1.1 移动应用类型 ...................................................................................... 210
12.1.2 appium的架构 ..................................................................................... 211
12.1.3 appium的工作过程 ............................................................................. 214
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.2.1 id定位 .................................................................................................. 229
13.2.2 Class Name定位 .................................................................................. 230
13.2.3 XPath定位 ........................................................................................... 231
13.2.4 Accessibility id定位 ............................................................................ 232
13.2.5 Android uiautomator定位.................................................................... 233
13.2.6 其他定位 .............................................................................................. 234
13.3 appium的常用 API .......................................................................................... 235
13.3.1 应用操作 .............................................................................................. 235
13.3.2 上下文操作 .......................................................................................... 236
13.3.3 键盘操作 .............................................................................................. 238
13.3.4 触摸操作 .............................................................................................. 238
13.3.5 特有操作 .............................................................................................. 241
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
14.2.1 安装 App .............................................................................................. 254
14.2.2 简单的测试用例 .................................................................................. 255
14.2.3 自动化项目设计 .................................................................................. 256
· · · · · · (
收起)