章节目录
第一篇 基础篇
第1章 学习环境的搭建 1
1.1 环境搭建 1
1.1.1 Selenium 简介 2
1.1.2 Python 简介 3
1.1.3 Python安装 5
1.1.4 环境变量设置 6
1.1.5 Selenium的安装 7
1.1.6 浏览器驱动的安装 8
1.1.7 PyCharm的安装 12
1.2 开始你的第一个项目 15
第2章 Python基础 18
2.1 基础语法 18
2.1.1 打印 18
2.1.2 编码 19
2.1.3 数据类型 20
2.1.4 变量 21
2.1.5 注释 21
2.1.6 缩进 22
2.2 运算符 22
2.2.1 算术运算符 22
2.2.2 比较运算符 23
2.2.3 逻辑运算符 23
2.2.4 Is 与 == 24
2.3 条件语句 24
2.3.1 单项判断 25
2.3.2 双向判断 25
2.3.3 多项判断 25
2.4 循环语句 26
2.4.1 for语句 26
2.4.2 while 语句 27
2.4.3 continue和break 28
2.5 列表 28
2.5.1 创建列表 28
2.5.2 获取元素 29
2.5.3 添加元素 29
2.5.4 删除元素 29
2.5.5 列表切片 30
2.5.6 其他操作 31
2.6 元组 31
2.6.1 创建元组 31
2.6.2 获取元素 31
2.6.3 拼接元组 32
2.6.4 删除元组 32
2.6.5 其他操作 32
2.7 字典 33
2.7.1 创建字典 33
2.7.2 获取元素 33
2.7.3 修改元素 33
2.7.4 删除元素 34
2.7.5 其他操作 34
2.8 集合 34
2.8.1 创建集合 35
2.8.2 添加元素 35
2.8.3 移除元素 35
2.8.4 其他操作 36
2.9 推导式 36
2.9.1 列表推导式 36
2.9.2 字典推导式 37
2.9.3 集合推导式 37
2.10 生成器 38
2.10.1 创建生成器 38
2.10.2 send方法 39
2.11 迭代器 40
2.11.1 可迭代对象 40
2.11.2 创建迭代器 40
2.12 函数 41
2.12.1 函数 41
2.12.2 参数 42
2.12.3 匿名函数 45
2.12.4 参数类型 45
2.12.5 返回值类型 46
2.13 类和对象 46
2.13.1 创建类 46
2.13.2 创建实例对象 47
2.13.3 类的私有化 48
2.13.4 类继承 49
2.13.5 类的重写 51
2.14 模块 52
2.14.1 模块的分类 52
2.14.2 模块的导入 52
2.15 作用域 53
2.16 异常机制 54
2.16.1 try-except 54
2.16.2 else 55
2.16.3 finally 56
2.17 __init__.py 文件 56
2.18 Python实用技巧 57
第3章 Selenium WebDriver 62
3.1 WebDriver 简介 62
3.1.1 WebDriver的特点 62
3.1.2 常用WebDriver 63
3.2 源码中查找元素 63
3.2.1 查看网页源码 63
3.2.2 查找元素的属性 64
3.3 元素定位 65
3.3.1 id定位 68
3.3.2 class定位 68
3.3.3 name定位 69
3.3.4 tag定位 70
3.3.5 xPath定位 70
3.3.6 link定位 71
3.3.7 Partial link定位 72
3.3.8 CSS选择器定位 72
3.3.9 By定位 73
3.3.10 确认元素的唯一性 74
3.4 定位一组元素 76
3.5 浏览器操作 78
3.5.1 浏览器最大化 78
3.5.2 设置浏览器的宽和高 78
3.5.3 访问网页 78
3.5.4 浏览器后退 79
3.5.5 浏览器前进 79
3.5.6 刷新页面 80
3.5.7 关闭浏览器当前窗口 80
3.5.8 结束进程 80
3.5.9 获取页面 title 81
3.5.10 获取当前页面的URL 81
3.5.11 获取页面源码 82
3.5.12 切换浏览器窗口 83
3.5.13 滚动条操作 86
3.6 对象操作 88
3.6.1 单击对象 89
3.6.2 输入内容 89
3.6.3 清空内容 90
3.6.4 提交表单 90
3.6.5 获取文本内容 90
3.6.6 获取对象属性值 91
3.6.7 对象显示状态 91
3.6.8 对象编辑状态 94
3.6.9 对象选择状态 95
3.7 键盘操作 96
3.7.1 send_keys 操作 96
3.7.2 keyUp/keyDown 操作 98
3.8 鼠标操作 99
3.8.1 鼠标右击 99
3.8.2 鼠标双击 99
3.8.3 鼠标悬停 100
3.8.4 鼠标拖放 100
3.8.5 鼠标其他事件 101
3.9 下拉框操作 101
3.10 特殊Dom结构操作 103
3.10.1 Windows弹窗 103
3.10.2 非Windows弹窗 106
3.10.3 frame与iframe 108
3.11 文件上传操作 110
3.11.1 直接上传 110
3.11.2 使用AutoIt上传 112
3.11.3 使用WinSpy上传 115
3.12 文件下载操作 119
3.12.1 手动修改 119
3.12.2 通过options修改 119
3.13 WebDriver的高级特性 120
3.13.1 cookie操作 120
3.13.2 JavaScript调用 122
3.13.3 屏幕截图 122
3.14 时间等待 123
3.14.1 强制等待 123
3.14.2 隐式等待 124
3.14.3 显式等待 124
3.15 其他设置 125
3.15.1 限制页面加载时间 125
3.15.2 获取环境信息 126
3.15.3 非W3C标准命令 127
3.16 配置Chrome浏览器选项 127
3.17 SSL证书错误处理 129
第4章 UnitTest测试框架 131
4.1 UnitTest简介 131
4.2 TestFixture 132
4.3 TestCase 133
4.4 断言 Assert 135
4.5 TestSuit 137
4.5.1 TestSuite直接构建测试集 137
4.5.2 addTest( ) 构建测试集 138
4.5.3 addTests( )构建测试集 139
4.5.4 skip装饰器 139
4.6 TestLoader 140
4.7 TestRunner 142
4.8 生成HTML 报告 143
第5章 Selenium Grid 145
5.1 Selenium Grid简介 145
5.2 Selenium Grid的工作原理 145
5.3 环境搭建 146
5.3.1 文件准备 146
5.3.2 部署Hub节点 147
5.3.3 部署Node节点 148
5.4 测试脚本开发 149
5.4.1 指定Node节点 149
5.4.2 指定Hub地址 150
第6章 Pytest测试框架 152
6.1 Pytest简介 152
6.2 Console参数 154
6.2.1 实例初体验 154
6.2.2 -v 参数 155
6.2.3 -h参数 156
6.2.4 其他参数 156
6.3 mark标记 157
6.3.1 标记测试函数 157
6.3.2 示例说明 158
6.3.3 直接标记 163
6.3.4 模糊匹配标记 165
6.3.5 使用mark自定义标记 166
6.4 固件 Fixture 167
6.4.1 Fixture的使用 167
6.4.2 Fixure的作用域 168
6.4.3 autouse自动使用 170
6.4.4 yield的使用 171
6.4.5 共享Fixture功能 173
6.4.6 参数化 175
6.4.7 内置Fixture 176
6.5 Pytest插件 182
6.5.1 插件的安装与卸载 183
6.5.2 查看活动插件 184
6.5.3 插件的注销 184
6.6 Allure测试报告 185
6.6.1 Allure的安装 185
6.6.2 脚本应用 186
6.6.3 报告生成 186
第7章 Python脚本开发常用模块 189
7.1 日期和时间模块 time和datetime 189
7.2 文件和目录模块os 190
7.3 系统功能模块 sys 191
7.4 导入第三方模块pip 193
7.5 邮件模块 smtplib 195
7.5.1 开启邮箱SMTP服务 195
7.5.2 smtplib模块的使用 196
7.6 日志 logging 199
7.7 CSV读写模块csv 201
7.8 Excel操作模块 openpyxl 203
7.9 MySQL数据库操作包pymysql 205
7.9.1 简单的使用 206
7.9.2 获取查询数据 207
7.9.3 增删改数据 209
7.10 JSON数据 210
7.10.1 JSON语法 210
7.10.2 Python读写JSON 211
7.13 多线程模块threading 212
第二篇 实践篇
第8章 数据驱动模型 215
8.1 数据驱动简介 215
8.2 ddt的使用 216
8.2.1 ddt的安装 216
8.2.2 ddt的常用方法 216
8.2.3 实例 217
8.3 项目解析 218
8.4 框架搭建 220
8.5 设计测试用例 221
8.6 数据文件操作 222
8.7 测试用例生成 225
8.7.1 Excel数据处理 225
8.7.2 测试步骤 226
8.7.3 断言处理 227
8.7.4 生成测试用例的生成 228
8.8 测试执行 229
第9章 PO模型——一个测试项目的实现 231
9.1 项目解析 231
9.1.1 主页 232
9.1.2 关于我们页面 233
9.1.3 退出登录 233
9.2 框架搭建 233
9.3 配置文件 235
9.4 常用结构的封装 236
9.4.1 判断元素存在 236
9.4.2 Tab切换 236
9.4.3 多级菜单 239
9.4.4 表格结构 241
9.4.5 分页 244
9.5 页面封装 246
9.5.1 基础页面 246
9.5.2 登录页面 248
9.5.3 主页页面 251
9.5.4 关于我们页面 257
9.5.5 退出登录功能 257
9.6 测试用例生成 257
9.6.1 登录功能的测试用例 257
9.6.2 主页页面测试用例 258
9.6.3 关于我们页面的测试用例 260
9.6.4 退出登录功能的测试用例 260
9.7 测试用例的组织 261
9.8 设置项目入口 262
第10章 持续集成 264
10.1 Jenkins的安装 264
10.1.1 Jenkins的下载 264
10.1.2 安装 265
10.1.3 创建管理员用户 267
10.2 创建项目 267
10.3 任务定时 269
10.3.1 任务定时设置 269
10.3.2 设置说明 270
10.3.3 构建实例 271
10.4 邮件发送 271
10.4.1 插件安装 271
10.4.2 HTML 报告配置 273
10.4.3 邮件配置 275
第三篇 卓异篇
第11章 自动化测试模型 279
11.1 自动化测试模型简介 279
11.2 线性模型 281
11.3 模块化驱动模型 282
11.4 数据驱动模型 282
11.5 关键字驱动模型 282
11.6 混合驱动模型 283
11.7 行为驱动模型 283
11.7.1 安装Behave 284
11.7.2 Behave的使用 286
10.7.3 运行 288
11.7.4 生成测试报告 289
第12章 高质量代码的编写 291
12.1 编码规范 291
12.2 分层与结构 294
12.3 阅读源码 295
12.3.1 分析层次 295
12.3.2 分析结构 296
12.3.3 分析具体文件 296
12.4 持续学习 298
第13章 Git的使用 299
13.1 Git简介 299
13.2 安装Git 300
13.3 Git的配置 301
13.3.1 配置用户信息 301
13.3.2 文本编辑器配置 301
13.3.3 配置差异分析工具 301
13.3.4 查看配置信息 302
13.5 常用命令 302
13.6 GitHub 304
13.6.1 账号注册 304
13.6.2 创建仓库 306
13.6.3 上传项目 307
13.6.4 Jenkins与Git 308
第14章 精选面试题 310
14.1 Python题 310
14.2 Selenium题 317
14.3 开放性题 321
附录1 示例代码 324
附录2 项目搭建 327
参考文献 330
内容简介
《Python Web自动化测试入门与实战》由一线测试工程师结合工作实践精心编撰。全书基于Python语言,从环境搭建、基础知识、常用框架、项目实战、持续集成等方面详细介绍了Web自动化测试的必备知识。
《Python Web自动化测试入门与实战》共三篇14章,首篇(第1~第7章)为基础篇,介绍Python语言基础、Selenium和WebDriver的使用以及两个流行的单元测试框架UnitTest和Pytest;第二篇(第8章~第10章)为实践篇,主要以数据驱动模型和PO模型为例介绍自动化测试项目的流程和应用;第三篇(第11章~14章)为卓异篇,介绍了测试人员如何拓展自己的知识面、提高项目代码质量的建议以及一些与自动化测试相关的面试题。
《Python Web自动化测试入门与实战》技术先进,通俗易懂,示例丰富,特别适合于想入行自动化测试岗位的初学者和在校学生,也适合掌握了一定的测试基础知识希望快速提升实战能力的读者使用。
下载说明
1、Python Web自动化测试入门与实战是作者杨定佳创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
水玄山句的评论很实用
-
林木郎的评论专业类书籍很不错可以买,而且看着真的不错,推荐学习,这本书很多人看,入门级别
-
龈的评论这本书适合有一定语言基础的有之士学习,内容非常不错,推荐入手,希望能帮到更多的人。
-
z的评论面面俱到 面面不到……作为入门测试 了解下技术栈还可以
-
林间鹿饮溪的评论最重要的是了解如果把优秀的想法落地
-
王找路的评论整个编排与内容都不错。书挺厚的。
-
Firmianasimplex的评论对测试有较详细的描述,能帮助建立正确的测试思路
-
Minty的评论可以一读
-
丁丁的评论该书结合了作者多年经验进行讲解,从入门到实战循序渐进,理论与实际相结合,是学习Python不可多得的好帮手!!!
-
奈何桥上孟大神的评论买来自学用的,很不错吧书
-
一博小朋友的评论语言通俗易懂,条理清晰,满满的都是干货,对python感兴趣的同学一定要入手哟。不管你是程序小白还是资深程序员,都能在书中找到你要的。
-
老王的评论Python Web自动化测试入门与实战,很易于学习和实用的一本书。知识实用,循序渐进,讲解了各类测试工具的使用及实践中的应用,书中还提供了一个测试工程的完整流程,介绍了对测试人员提高能力的一建议和方法,以及一些面试题,对于初次上手web测试的人员来说,既是一本较好的入门教程,也能够用于应对面试。
-
Joan的评论通俗易懂,容易上手
-
远赴惊鸿宴的评论非常好的书籍,强力推荐
-
天道酬勤的评论简单,至少你不需要有太大的压力感,入门级必选!
-
测试.test 冀的评论真不错推荐
-
豆友187334355的评论总的来说这本书是软件自动化测试入门的敲门砖,让自己在自动化测试需要的基础知识有一定的了解
-
可甜可咸的评论同学推荐的,很不错,看完之后对测试有了一个全面的了解,讲的也不晦涩,很好懂
-
玍孓%羏的评论从环境搭建到使用,循序渐进的介绍了自动化所用到的知识,而且通过实战项目,将知识点串联起来,内容介绍的很详细