Selenium WebDriver自动化测试完全指南
上QQ阅读APP看书,第一时间看更新

本书组织结构

本书包含17章,以及两个附录。

第1章,安装Selenium,从基础入手,帮助读者了解Selenium项目的框架和由来,以及如何选择自己的WebDriver,接着介绍了Selenium在Windows和Linux两种操作系统下的安装方式。

第2章,页面导航,对Selenium项目和浏览器交互的基本操作进行介绍。本章介绍如何通过Selenium项目实现启动浏览器、打开浏览器、切换浏览器窗口等一系列常用的浏览器操作的自动化,从而为后面的学习奠定基础。

第3章,元素定位,介绍Selenium的8种元素定位方式。在学完前3章内容后,读者可以编写初具雏形的自动化程序。

第4章利器——PhantomJS,PhantomJS是一个独立的项目,可以实现绝大部分浏览器的功能。不同于其他的浏览器,PhantomJS只会在内存中运行,不会显示任何界面,因此十分适合进行数据采集。本章介绍PhantomJS和Selenium搭配使用的方法。

第5章,基于Python官网的实战,是对前面所学内容的一个综合运用。读者可通过实战巩固已经学习过的知识,并且在实际操作中锻炼编程能力与思维。

第6章,基于今日头条的实战,以今日头条为例子,讨论技术部分的实现以及解决问题的思路,旨在帮助读者形成一个目录式的系统印象。

第7章,数据的编解码和处理,介绍数据的编解码和处理。在互联网中,难免要面对错综复杂的各种数据类型,本章主要介绍以下内容:CSV、JSON、XML、BASE64、NLTK、散列、布隆过滤器以及关系型数据库和非关系型数据库。

第8章,基于猫眼电影的实战,以猫眼电影为例子,详细讲解从了解客户需求到网站分析、处理的全套流程,并在分析中逐步引入代码的说明与实现。

第9章,基于淘宝商品的实战,以淘宝商品为例子,阐述如何应对复杂网站的页面数据采集问题,展示新颖的实现方式。

第10章,单元测试,解决单元测试是什么、为什么要写单元测试、应该怎么写单元测试这3个难题,帮助读者评估自己在项目中是否要使用单元测试。

第11章,多线程,实现同步完成多项任务的功能,帮助读者提高程序的运行效率,节约时间,并讨论线程、进程、线程切换、锁以及GIL等概念。

第12章,发送邮件,讨论程序反馈最低廉且合理的处理方式,通过实现自动化发送邮件,实现服务器(程序)在无人值守情况下记录用户操作。

第13章,Selenium IDE,介绍两个简单且方便的录制自动化脚本的工具,为读者提供一条功能化的测试道路,从而快捷地生成自动化脚本。

第14章,Python扩展,讨论如何把Python 2代码转换为Python 3代码,以及测试类型、通配符、字符串方法、异常层次结构、类和推导式等。

第15章,GUI测试,讨论制作图形化界面的方法并且介绍经常使用的组件,帮助读者实现测试工具图形化的目标并了解底层实现的思路。

第16章,基于知乎的实战,着重讨论Selenium项目和传统爬虫的结合,实现一种全新的并且功能更加强大的数据采集爬虫。

第17章,基于新浪微博的实战,对全书内容进行融会贯通,帮助读者巩固已经学过的知识,建立全面的知识框架。

附录A,如何阅读源代码,根据作者多年的经历介绍有效、高效阅读源代码的方法和建议。

附录B,Git分布式计算,介绍Git的一些功能特性和基本用法。对于软件开发人员来说,熟悉并掌握Git的使用是他们应该具备的一项技能。