资源名称:SELENIUM 2 自动化测试实战 基于PYTHON语言
内容简介:
《Selenium 2自动化测试实战——基于Python语言》共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是《Selenium 2自动化测试实战——基于Python语言》的重点,循 序渐进地介绍了自动化测试所用到的技术;第 11 章通过一个具体的项目综合运用了前面章节所介绍 的技术与技巧;第 12 章到第 14 章选取了当前最热门的技术进行了介绍,旨在扩展测试人员的综合技 术能力。 《Selenium 2自动化测试实战——基于Python语言》的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习
《Selenium 2自动化测试实战——基于Python语言》的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路 迈进。
资源目录:
第1 章 自动化测试基础 ………………………………………………………………………… 1
1.1 软件测试分类 ………………………………………………………………………………………….. 1
1.2 分层的自动化测试 …………………………………………………………………………………… 6
1.3 什么样的项目适合自动化测试 …………………………………………………………………. 9
1.4 自动化测试及工具简述 ………………………………………………………………………….. 10
1.5 Selenium 工具介绍 …………………………………………………………………………………. 11
1.6 前端技术介绍 ………………………………………………………………………………………… 14
1.7 前端工具介绍 ………………………………………………………………………………………… 16
1.8 开发语言的选择 …………………………………………………………………………………….. 19
第2 章 测试环境搭建 ……………………………………………………………………………… 21
2.1 Windows 下的环境搭建 ………………………………………………………………………….. 21
2.1.1 安装Python …………………………………………………………………………………. 22
2.1.2 安装setuptools 与pip …………………………………………………………………… 24
2.1.3 安装Selenium ……………………………………………………………………………… 26
2.1.4 ActivePython ……………………………………………………………………………….. 26
2.2 Ubuntu 下的环境搭建 …………………………………………………………………………….. 28
2.3 使用IDLE 编写Python …………………………………………………………………………… 29
2.4 编写第一个自动化脚本 ………………………………………………………………………….. 32
2.5 安装浏览器驱动 …………………………………………………………………………………….. 34
2.6 不同编程语言下使用WebDriver ……………………………………………………………… 35
第3 章 Python 基础 …………………………………………………………………………………… 37
3.1 Python 哲学 ……………………………………………………………………………………………. 37
3.2 输出与输入 ……………………………………………………………………………………………. 39
3.2.1 print 打印 …………………………………………………………………………………….. 40
3.2.2 input 输入 ……………………………………………………………………………………. 41
3.2.3 引号与注释 …………………………………………………………………………………. 41
3.3 分支与循环 ……………………………………………………………………………………………. 43
3.3.1 if 语句 …………………………………………………………………………………………. 43
3.3.2 for 语句 ………………………………………………………………………………………. 45
3.4 数组与字典 ……………………………………………………………………………………………. 47
3.4.1 数组 ……………………………………………………………………………………………. 47
3.4.2 字典 ……………………………………………………………………………………………. 47
3.5 函数、类和方法 …………………………………………………………………………………….. 49
3.5.1 函数 ……………………………………………………………………………………………. 49
3.5.2 类和方法 …………………………………………………………………………………….. 50
3.6 模组 ………………………………………………………………………………………………………. 52
3.6.1 引用模块 …………………………………………………………………………………….. 52
3.6.2 模块调用 …………………………………………………………………………………….. 55
3.6.3 跨目录模块调用 ………………………………………………………………………….. 56
3.6.4 进一步讨论跨目录模块调用 ………………………………………………………… 56
3.7 异常 ………………………………………………………………………………………………………. 60
3.7.1 认识异常 …………………………………………………………………………………….. 60
3.7.2 更多异常用法 ……………………………………………………………………………… 64
3.7.3 抛出异常 …………………………………………………………………………………….. 66
本章小结 ……………………………………………………………………………………………………….. 66
第4 章 WebDriver API ………………………………………………………………………………….. 68
4.1 从定位元素开始 …………………………………………………………………………………….. 68
4.1.1 id 定位 ………………………………………………………………………………………… 72
4.1.2 name 定位 …………………………………………………………………………………… 73
4.1.3 class 定位 ……………………………………………………………………………………. 73
4.1.4 tag 定位 ………………………………………………………………………………………. 73
4.1.5 link 定位 ……………………………………………………………………………………… 73
4.1.6 partial link 定位 ……………………………………………………………………………. 74
4.1.7 XPath 定位 ………………………………………………………………………………….. 75
4.1.8 CSS 定位 …………………………………………………………………………………….. 78
4.1.9 用By 定位元素 ……………………………………………………………………………. 82
4.2 控制浏览器 ……………………………………………………………………………………………. 83
4.2.1 控制浏览器窗口大小 …………………………………………………………………… 83
4.2.2 控制浏览器后退、前进 ……………………………………………………………….. 84
4.2.3 模拟浏览器刷新 ………………………………………………………………………….. 85
4.3 简单元素操作 ………………………………………………………………………………………… 86
4.3.1 126 邮箱登录 ………………………………………………………………………………. 86
4.3.2 WebElement 接口常用方法 …………………………………………………………… 87
4.4 鼠标事件 ……………………………………………………………………………………………….. 89
4.5 键盘事件 ……………………………………………………………………………………………….. 92
4.6 获得验证信息 ………………………………………………………………………………………… 93
4.7 设置元素等待 ………………………………………………………………………………………… 95
4.7.1 显式等待 …………………………………………………………………………………….. 95
4.7.2 隐式等待 …………………………………………………………………………………….. 98
4.7.3 sleep 休眠方法 …………………………………………………………………………….. 99
4.8 定位一组元素 ………………………………………………………………………………………. 100
4.9 多表单切换 ………………………………………………………………………………………….. 104
4.10 多窗口切换 ………………………………………………………………………………………… 106
4.11 警告框处理 ………………………………………………………………………………………… 108
4.12 上传文件 ……………………………………………………………………………………………. 110
4.12.1 send_keys 实现上传 ………………………………………………………………….. 110
4.12.2 AutoIt 实现上传 ……………………………………………………………………….. 111
4.13 下载文件 ……………………………………………………………………………………………. 116
4.14 操作Cookie ………………………………………………………………………………………… 117
4.15 调用Javascript ……………………………………………………………………………………. 120
4.16 处理HTML5 的视频播放 ……………………………………………………………………. 123
4.17 窗口截图 ……………………………………………………………………………………………. 124
4.18 关闭窗口 ……………………………………………………………………………………………. 125
4.19 验证码的处理 …………………………………………………………………………………….. 125
4.20 WebDriver 原理 …………………………………………………………………………………… 128
本章小结 ……………………………………………………………………………………………………… 130
第5 章 自动化测试模型 ……………………………………………………………………… 132
5.1 自动化测试模型介绍 ……………………………………………………………………………. 133
5.1.1 线性测试 …………………………………………………………………………………… 133
5.1.2 模块化驱动测试 ………………………………………………………………………… 134
5.1.3 数据驱动测试 ……………………………………………………………………………. 134
5.1.4 关键字驱动测试 ………………………………………………………………………… 136
5.2 模块化驱动测试实例 ……………………………………………………………………………. 138
5.3 数据驱动测试实例 ……………………………………………………………………………….. 140
5.3.1 参数化邮箱登录 ………………………………………………………………………… 141
5.3.2 参数化搜索关键字 …………………………………………………………………….. 142
5.3.3 读取txt 文件 ……………………………………………………………………………… 143
5.3.4 读取csv 文件 …………………………………………………………………………….. 144
5.3.5 读取xml 文件 ……………………………………………………………………………. 146
本章小结 ……………………………………………………………………………………………………… 150
第6 章 Selenium IDE …………………………………………………………………… 151
6.1 Selenium IDE 安装 ………………………………………………………………………………… 151
6.1.1 在线安装 …………………………………………………………………………………… 151
6.1.2 下载插件安装 ……………………………………………………………………………. 153
6.2 Selenium IDE 界面介绍 …………………………………………………………………………. 154
6.3 创建测试用例 ………………………………………………………………………………………. 155
6.3.1 录制脚本 …………………………………………………………………………………… 155
6.3.2 编辑脚本 …………………………………………………………………………………… 156
6.4 Selenium IDE 命令 ………………………………………………………………………………… 159
6.5 断言与验证 ………………………………………………………………………………………….. 162
6.5.1 断言 ………………………………………………………………………………………….. 164
6.5.2 验证 ………………………………………………………………………………………….. 165
6.6 等待与变量 ………………………………………………………………………………………….. 167
6.6.1 等待 ………………………………………………………………………………………….. 167
6.6.2 变量 ………………………………………………………………………………………….. 167
本章小结 ………………………………………………………………………………….. 169
第7 章 unittest 单元测试框架 ………………………………………………….. 170
7.1 认识unittest………………………………………………………………………………………….. 171
7.1.1 认识单元测试 ……………………………………………………………………………. 171
7.1.2 重要的概念 ……………………………………………………………………………….. 174
7.1.3 断言方法 …………………………………………………………………………………… 176
7.1.4 组织单元测试用例 …………………………………………………………………….. 181
7.1.5 discover 更多测试用例 ……………………………………………………………….. 184
7.2 关于unittest 还需要知道的 ……………………………………………………………………. 187
7.2.1 用例执行的顺序 ………………………………………………………………………… 188
7.2.2 执行多级目录的用例 …………………………………………………………………. 190
7.2.3 跳过测试和预期失败 …………………………………………………………………. 191
7.2.4 fixtures ………………………………………………………………………………………. 193
7.3 带unittest 的脚本分析 …………………………………………………………………………… 195
7.4 编写Web 测试用例 ………………………………………………………………………………. 200
本章小结 ……………………………………………………………………………………………………… 203
第8 章 自动化测试高级应用 ……………………………………………………………………….. 204
8.1 HTML 测试报告 …………………………………………………………………………………… 204
8.1.1 修改HTMLTestRunner ……………………………………………………………….. 205
8.1.2 生成HTML 测试报告 ………………………………………………………………… 206
8.1.3 更易读的测试报告 …………………………………………………………………….. 208
8.1.4 测试报告文件名 ………………………………………………………………………… 209
8.1.5 项目集成测试报告 …………………………………………………………………….. 212
8.2 自动发邮件功能 …………………………………………………………………………………… 213
8.2.1 发送HTML 格式的邮件 …………………………………………………………….. 216
8.2.2 发送带附件的邮件 …………………………………………………………………….. 217
8.2.3 查找最新的测试报告 …………………………………………………………………. 218
8.2.4 整合自动发邮件功能 …………………………………………………………………. 219
8.3 Page Object 设计模式 …………………………………………………………………………… 221
8.3.1 认识Page Object ………………………………………………………………………… 221
8.3.2 Paget Object 实例 ……………………………………………………………………….. 223
本章小结 ……………………………………………………………………………………………………… 228
第9 章 Selenium Grid2 ……………………………………………………………………… 229
9.1 Selenium Server 环境配置 ……………………………………………………………………… 229
9.2 Selenium Grid 工作原理 ………………………………………………………………………… 233
9.3 Remote 应用 …………………………………………………………………………………………. 236
9.3.1 WebDriver 驱动分析 …………………………………………………………………… 237
9.3.2 Remote 实例 ………………………………………………………………………………. 243
9.3.3 参数化平台及浏览器 …………………………………………………………………. 243
9.4 WebDriver 驱动 …………………………………………………………………………………….. 246
9.4.1 Edge 浏览器 ………………………………………………………………………………. 249
9.4.2 Opera 浏览器 …………………………………………………………………………….. 250
9.4.3 Safari 浏览器 ……………………………………………………………………………… 251
9.4.4 HtmlUnit 模式 ……………………………………………………………………………. 251
9.4.5 PhantomJS 模式 …………………………………………………………………………. 252
本章小结 ……………………………………………………………………………………………………… 254
第10 章 Python 多线程 ………………………………………………………………………………… 255
10.1 单线程的时代 …………………………………………………………………………………….. 256
10.2 多线程技术 ………………………………………………………………………………………… 258
10.2.1 threading 模块 ………………………………………………………………………….. 258
10.2.2 优化线程的创建 ………………………………………………………………………. 260
10.2.3 创建线程类 ……………………………………………………………………………… 262
10.3 多进程技术 ………………………………………………………………………………………… 263
10.3.1 multiprocessing 模块 …………………………………………………………………. 263
10.3.2 Pipe 和Queue …………………………………………………………………………… 266
10.4 应用于自动化测试 ……………………………………………………………………………… 268
10.4.1 多线程执行测试用例 ……………………………………………………………….. 269
10.4.2 多线程分布式执行测试用例 …………………………………………………….. 270
本章小结 ……………………………………………………………………………………………………… 272
第11 章 自动化测试项目实战 …………………………………………………………………………. 273
11.1 自动化测试用例设计 …………………………………………………………………………… 273
11.1.1 手工测试用例与自动化测试用例 ………………………………………………. 273
11.1.2 测试类型 …………………………………………………………………………………. 275
11.1.3 自动化测试用例编写原则 ………………………………………………………… 276
11.2 BBS 社区项目实战 ……………………………………………………………………………… 277
11.2.1 准备工作 …………………………………………………………………………………. 277
11.2.2 项目结构介绍 ………………………………………………………………………….. 278
11.2.3 编写公共模块 ………………………………………………………………………….. 281
11.2.4 编写Page Object ………………………………………………………………………. 283
11.2.5 编写测试用例 ………………………………………………………………………….. 286
11.2.6 执行测试用例 ………………………………………………………………………….. 289
本章小结 ……………………………………………………………………………………………………… 291
第12 章 BDD 框架之Lettuce 入门 ………………………………………………………………… 292
12.1 什么是BDD ……………………………………………………………………………………….. 292
12.2 安装Lettuce ……………………………………………………………………………………….. 294
12.3 阶乘的例子 ………………………………………………………………………………………… 295
12.3.1 什么是阶乘 ……………………………………………………………………………… 295
12.3.2 编写BDD 实现 ………………………………………………………………………… 296
12.3.3 添加测试场景 ………………………………………………………………………….. 300
12.3.4 Lettuce 目录结构与执行过程 ……………………………………………………. 303
12.4 Lettuce_webdriver 自动化测试 …………………………………………………………….. 303
本章小结 ……………………………………………………………………………………………………… 308
(第13 章和第14 章内容可到博文视点网站免费下载)
第13 章 GitHub 托管项目 …………………………………………………………………………… 309
13.1 注册与安装 ………………………………………………………………………………………… 310
13.1.1 注册GitHub …………………………………………………………………………….. 310
13.1.2 安装Git …………………………………………………………………………………… 310
13.1.3 建立连接 …………………………………………………………………………………. 311
13.2 Git/GitHub 基本使用 …………………………………………………………………………… 314
13.2.1 GitHub 创建项目 ……………………………………………………………………… 314
13.2.2 本地创建项目 ………………………………………………………………………….. 315
13.2.3 克隆项目 …………………………………………………………………………………. 318
13.2.4 更新项目 …………………………………………………………………………………. 319
本章小结 ……………………………………………………………………………………………………… 323
第14 章 持续集成Jenkins 入门 …………………………………………………………………. 324
14.1 环境搭建 ……………………………………………………………………………………………. 325
14.2 创建任务 ……………………………………………………………………………………………. 328
14.3 运行构建 ……………………………………………………………………………………………. 333
14.4 定时执行构建 …………………………………………………………………………………….. 335
本章小结 ……………………………………………………………………………………………………… 338
资源截图: