Selenium WebDriver自动化测试完全指南

Selenium WebDriver自动化测试完全指南

  • 特价 34.50
  • 原价 69.00
  • 作者 刘傲凡
  • 出版社 人民邮电出版社
  • 出版时间 2020年03月

详情

编辑推荐

  • 本书作为Selenium的优选入门教程,从Selenium的前世今生到安装、部署、应用,一网打尽。 
  • 本书案例丰富,实用性强,所有代码基于Python 3.x版本,且可供下载。 

内容简介

Selenium是ThoughtWorks公司开发的一款用于Web应用程序测试的工具,它凭借支持多种浏览器、支持各种语言、跨平台、开源等优点得到了广泛应用。 


《Selenium WebDriver自动化测试完全指南》以Python 3.x为基础,借助多个案例项目介绍Selenium的用法,涵盖内容采集、数据处理、单元测试等内容。本书共分为17章,主要内容有安装Selenium、页面导航、元素定位、PhantomJS、数据编解码、单元测试、多线程、发送邮件、Selenium IDE、Python扩展、图形化测试等。本书每章都包含相应的实践内容,而且在适当的位置还包含综合性的实战环节,帮助读者检验前面所学内容并活学活用。 


《Selenium WebDriver自动化测试完全指南》内容通俗易懂,案例丰富,实用性强,适合从事Python开发、大数据开发、爬虫开发、前端开发以及测试等工作的人员阅读。

作者简介

刘傲凡

精通互联网技术和计算机爬虫技术,熟悉网页抓取原理及技术,并在HTML、JavaScript、正则表达式、Jsoup、jQuery等方面有深入研究,还对WebMagic框架、PhantomJS、Headless Chrome、Selenium WebDriver等前沿技术保持着极高的热情和浓厚的兴趣。 


作者曾于《中山大学研究生学刊》发表论文“基于大数据的问答网站用户质量与数量的关系浅析—— 以知乎为例”。同时,作者深刻理解验证码识别、数据挖掘、数据存储等技术,曾协助多家企业搭建分布式爬虫架构。

目  录


第 1章 安装Selenium 1

1.1 Selenium的优点 1
1.2 Selenium WebDriver 3
1.3 在Windows和Linux操作系统上安装Selenium 5
1.3.1 Windows操作系统上Python的安装说明 5
1.3.2 Linux操作系统上Python的安装说明 7

第 2章 页面导航 8
2.1 启动浏览器 8
2.2 打开页面 10
2.3 浏览器基本操作 11
2.4 拖动窗口 12
2.5 cookie的调用 14
2.6 使用多个窗口 16
2.7 参考网站 17

第3章 元素定位 19
3.1 元素定位概述 19
3.2 根据ID定位 20
3.3 根据 name定位 23
3.4 根据XPath定位 24
3.5 根据标签名定位 26
3.6 根据类名定位 28
3.7 根据CSS选择器定位 30
3.8 根据链接文本定位 31
3.9 根据部分链接文本定位 32

第4章 利器——PhantomJS 34
4.1 PhantomJS 34
4.2 下载与安装PhantomJS 35
4.2.1 在Windows操作系统上安装PhantomJS 35
4.2.2 在Linux操作系统上安装PhantomJS 35
4.2.3 检验安装 36
4.3 配置相应的WebDriver 36
4.4 第 一个PhantomJS小程序 37
4.5 通过time.sleep()慢下来 40
4.6 PhantomJS的命令行参数 41
4.7 其他问题 42
4.7.1 中文编码问题 42
4.7.2 不同frame间的转换 42
4.7.3 PhantomJS进程不会自动退出 42

第5章 基于Python官网的实战 43
5.1 通过Selenium访问Python官网 43
5.2 通过JavaScript修改Python官网的标题 44
5.3 在搜索框搜索 45
5.4 获取latest news部分 46
5.5 Selenium的等待 48

第6章 基于今日头条的实战 52
6.1 通过Selenium访问百度热词 52
6.2 通过Selenium搜索相关热词 54
6.3 获取第 一条结果 55
6.4 定位元素—— 抓取内容 57
6.5 存储数据 59

第7章 数据的编解码和处理 64
7.1 读写CSV文件 64
7.2 读写JSON文件 66
7.3 将字典转化为XML 70
7.4 解析XML 72
7.5 Base64编码 74
7.6 词性分析、统计分析NLTK 75
7.7 散列表 82
7.8 布隆过滤器 83
7.9 关系数据库MySQL 86
7.9.1 安装MySQL 86
7.9.2 MySQL常用命令 89
7.10 非关系型数据库 98
7.11 总结 98

第8章 基于猫眼电影的实战 100
8.1 网站分析 100
8.2 最初的测试代码 103
8.3 进一步完善之后的测试代码 105

第9章 基于淘宝商品的实战 109
9.1 准备工作 109
9.2 流程简述 110
9.3 代码解读 112

9.4 可配置项 118


第 10章 单元测试 120
10.1 为什么要写单元测试 120
10.2 怎样写单元测试 121
10.3 单元测试的演示 121
10.4 单元测试示例 124
10.5 Selenium的单元测试 127
10.6 美化报告 128

第 11章 多线程 132
11.1 什么是进程线程 132
11.2 单线程与多线程的对比 133
11.3 实际体验 133
11.4 threading库中常用的函数 137
11.5 锁的概念 138
11.6 主程序是线程还是进程 140
11.7 更多解决方案 140
11.8 基于多线程和Selenium的示例 141
11.9 GIL 142

第 12章 发送邮件 143
12.1 通信的选择 143
12.2 获取授权码 144
12.3 发送邮件 145

第 13章 Selenium IDE 149
13.1 安装Selenium IDE 149
13.2 Selenium IDE 151
13.3 Katalon Recorder 155
13.3.1 Katalon Recorder的界面 155
13.3.2 实例与步骤 157
13.4 数据驱动 159
13.5 扩展脚本 161
13.5.1 添加扩展脚本 161
13.5.2 定位器构建器 161
13.5.3 定位器构建的自定义顺序 162
13.5.4 Prototype附加命令 162
13.6 Katalon Recorder Helper工具 163

第 14章 Python扩展 165
14.1 2to3工具 165
14.2 测试类型 166
14.3 通配符类型 167
14.4 str方法 168
14.5 异常层次结构 169
14.6 兼容Python 2和Python 3 171
14.7 兼容性代码 172
14.7.1 导入库 172
14.7.2 输出函数 172
14.7.3 异常捕获 173
14.8 类相关 173
14.9 推导式 174
14.10 经典除法和真除法 176
14.11 __future__ 176
14.12 类型转换和关键字 177

第 15章 GUI测试 179
15.1 tkinter测试 179
15.2 创建界面 180
15.3 按钮 181
15.4 pack属性 182
15.5 继承类 183
15.6 复选框和单选按钮 185
15.7 Entry输入框 187
15.8 列表框 193
15.9 Text控件 196
15.10 Canvas控件 200
15.11 Menu控件 203
15.12 spinbox控件 206
15.13 messagebox 207
15.14 filedialog 208
15.15 Message 209
15.16 tkinter界面布局 210
15.17 tkinter支持的模块 211
15.18 _tkinter接口 212
15.19 tkinter.ttk 212
15.20 底层实现流程 212

第 16章 基于知乎的实战 214
16.1 知乎分析 214
16.2 文字部分 217
16.3 图片部分 221
16.4 建议 227
16.4.1 从干净的状态开始 227
16.4.2 测试的隔离 228
16.4.3 Anaconda 228
16.4.4 报告 229
16.4.5 IP代理 229
16.4.6 过滤请求 230
16.5 一些注意事项 231
16.5.1 CAPTCHA 231
16.5.2 性能测试 231
16.5.3 六度分割理论及其实际使用 232
16.5.4 HTTP状态码 232
16.6 常见问题 234
16.6.1 元素定位失败 234
16.6.2 WebDriver调用失败 237

第 17章 基于新浪微博的实战 238
17.1 新浪微博分析 238
17.2 实现思路 240
17.3 代码改进 247
17.4 结语 251

附录A 如何阅读源代码 252
附录B Git分布式计算 256
发表评论
评论通过审核后显示。
联系我们
  • 联系人:阿道
  • 联系方式: 17762006160
  • 地址:青岛市黄岛区长江西路118号青铁广场18楼