Selenium 2自动化测试实战Epub+Pdf

Selenium 2自动化测试实战

作者:虫师

分类:科技

ISBN:9787121278532

出版时间:2016-1-1

出版社:电子工业出版社

标签:
自动化测试 
python 
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

网盘地址:

书籍网盘

书友评论

  • 谷溪的评论

    一边干活一边拿这个做工具书,很实用

  • guccy的评论

    入门不错的,结合项目还是有实操性的

  • SeanRebn的评论

    知道了一些框架,之后就看手册了

  • patiencing的评论

    书籍的质量应该是3星, 不过这个题材的很难见到, 给4星

  • Shaojun的评论

    蜻蜓点水

  • Eric的评论

    可以已经升级3了

  • 七七的评论

    selenium入门书

  • 树姑娘的评论

    操作性比较强,浅显易懂

  • 风纪扣v的评论

    selenium的中文资料本来就少,能有一本专门的书籍还是很不错的,最近selenium 3推出,还是要与时俱进。

  • None的评论

    简单的入门读物,提的是 Selenium,但也不止于此。有工具,也有实践,就是版本老了点。

  • 郁章的评论

    粗略过了一遍,看在比某本定价69价值0.1的国产robot framework教程强一千八百多倍的份上加一星。

  • eugene的评论

    2020.08 pdf 三天看完。
    第4章 find_element()定位元素、ActionChains()控制鼠标操作、WebDriverWait()等待、switch_to.frame()表单切换、switch_to.window()窗口切换、上传文件、下载文件、操作Cookie、调用JavaScript、HTML5 video,这些内容是Selenium会遇到的难点,对实际操作有帮助。
    第9章 Selenium Grid2 等以后需要分布式测试时,再仔细看。
    其他几章都只是简介。

  • Mark_Lee的评论

    看文档实践更好

  • 超级露的评论

    对于web ui自动化测试讲解的挺全面的。适合系统梳理一下web端功能自动化测试涉及的知识点,如果想要深入了解,还是需要另外查看其他资料。书中的框架示例扩展一下完全可以应用于实际项目。

  • 飞翔的虎头鹰的评论

    很好的关于测试自动化的书。不过先不搞界面自动化了,先学习api测试。技术要在实战中掌握。

  • 小蒋不素小蒋的评论

    不错哦,还能学到一些软件测试、自动化测试的知识

  • jadejade的评论

    我的长假读书计划

  • 五杀摇滚吉他手的评论

    网上好像有第二版的样本,内容差不多,好像也没有在这版的基础上更新。其实本书关于selenium的内容到webdriver api差不多就为止了,remote和ide对于普通用户来说意义不大,至于多线程部分感觉有点凑篇幅。

  • 林狩的评论

    主要拿这本书学selenium,具体的自动化测试部分一掠而过。翻过头来再看那本爬虫的书,就又搞懂不少…

  • 肉圆丸子的评论

    讲selenium的部分有点少,讲自动化概念的地方有点多,但作为入门书籍还是不错的