Selenium WebDriver自动化测试完全指南

Selenium WebDriver自动化测试完全指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2020-03
版次: 1
ISBN: 9787115526854
定价: 69.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 268页
分类: 工程技术
2人买过
  • 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
  • 内容简介:
    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
查看详情