| 作者 |
| 刘傲凡 |
| 丛书名 |
| 出版社 |
| 人民邮电出版社 |
| ISBN |
| 9787115526854 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 Selenium是ThoughtWorks公司开发的一款用于Web应用程序测试的工具,它凭借支持多种浏览器、支持各种语言、跨平台、开源等优点得到了广泛应用。 《Selenium WebDriver自动化测试完全指南》以Python 3.x为基础,借助多个案例项目介绍Selenium的用法,涵盖内容采集、数据处理、单元测试等内容。本书共分为17章,主要内容有安装Selenium、页面导航、元素定位、PhantomJS、数据编解码、单元测试、多线程、发送邮件、Selenium IDE、Python扩展、图形化测试等。本书每章都包含相应的实践内容,而且在适当的位置还包含综合性的实战环节,帮助读者检验前面所学内容并活学活用。 《Selenium WebDriver自动化测试完全指南》内容通俗易懂,案例丰富,实用性强,适合从事Python开发、大数据开发、爬虫开发、前端开发以及测试等工作的人员阅读。 |
| 目录 |
| 第 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 |