【编辑推荐】

  Selenium 是代表未来测试趋势的测试工具,是提升生产力的重要手段,但Selenium本身有两个版本,新手很容易陷入选择的误区。

  而这本书描述的就是 Selenium 2, 代表了主流,也代表了未来;用的语言是 Python,全世界都在用,它简单、高效、经典、 优雅。使读者免去选择的苦恼。

    

【内容简介】

  本书分为12个章节,第1章是自动化测试相关基础知识的介绍;第2章到第10章是本书的重点,循序渐进地介绍了自动化测试所用到的技术;第11章通过一个具体的项目综合运用了前面章节所介绍的技术与技巧。第12章选取了当前热门的技术进行了介绍,旨在扩展测试人员的综合技术能力。 本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能够提高综合的技术高度与宽度,从而摆脱简单的手工测试,向高级测试工程师的道路迈进。

【作者简介】

  胡志恒,魅族科技(深圳)分公司高级测试工程师。2011年6月开始在博客园上持续分享各种测试技术和经验,文章多次被51testing等网站转载,精通性能测试、自动化测试等技术。

【目录】

第1章 自动化测试基础

1.1 软件测试分类

1.2 分层的自动化测试

1.3 什么样的项目适合自动化测试

1.4 自动化测试及工具简述

1.5 Selenium工具介绍

1.6 前端技术介绍

1.7 前端工具介绍

1.8 开发语言的选择


第2章 测试环境搭建

2.1 Windows下的环境搭建

2.2 Ubuntu下的环境搭建

2.3 使用IDLE编写Python

2.4 编写第一个自动化脚本

2.5 安装浏览器驱动

2.6 不同编程语言下使用WebDriver


第3章 Python基础

3.1 Python哲学

3.2 输出与输入

3.3 分支与循环

3.4 数组与字典

3.5 函数、类和方法

3.6 模组

3.7 异常


第4章 WebDriver API

4.1 从定位元素开始

4.2 控制浏览器

4.3 简单元素操作

4.4 鼠标事件

4.5 键盘事件

4.6 获得验证信息

4.7 设置元素等待

……

第5章 自动化测试模型

5.1 自动化测试模型介绍

5.2 模块化驱动测试实例

5.3 数据驱动测试实例


第6章 Selenium IDE

6.1 Selenium IDE安装

6.2 Selenium IDE界面介绍

6.3 创建测试用例

6.4 Selenium IDE命令

6.5 断言与验证

6.6 等待与变量

 

第7章 unittest单元测试框架

7.1 认识unittest

7.2 关于unittest还需要知道的

7.3 带unittest的脚本分析

7.4 编写Web测试用例

 

第8章 自动化测试高级应用

8.1 HTML测试报告

8.2 自动发邮件功能

8.3 Page Object 设计模式


第9章 Selenium Grid2

9.1 Selenium Server环境配置

9.2 Selenium Grid工作原理

9.3 Remote应用

9.4 WebDriver驱动

 

第10章 Python多线程

10.1 单线程的时代

10.2 多线程技术

10.3 多进程技术

10.4 应用于自动化测试

 

第11章 自动化测试项目实战

11.1 自动化测试用例设计

11.2 BBS社区项目实战


第12章 BDD框架之Lettuce入门

12.1 什么是BDD

12.2 安装Lettuce

12.3 阶乘的例子

12.4 Lettuce_webdriver自动化测试 



【前言/序言】

  记得在 2013 年,笔者计划要学习一门脚本语言用来辅助测试工作,当时在 Ruby 与 Python 之间犹豫不定。后来开始接手社区项目的测试工作,由于社区项目基于 Python 开发, 所以,就自然选择了 Python。Python 语言的简单易用与丰富的类库给我带来了很大惊喜。 后来考虑到公司的 Web 产品比较适合进行自动化测试,再加上对产品的开发进度有很 好的节奏把控,于是就有了充足的时间尝试开展自动化测试。在此之前,我对 QTP 和 Selenium 两个自动化测试工具都有过接触,考虑在这两者之间选择其一。一方面是我个人 更偏向于使用开源工具,另一个重要原因是 Selenium 支持多种编程语言,包括 Python。于 是,就选择了 Python 与 Selenium 这样的组合进行产品自动化测试的尝试。 初期的学习遇到了不少问题。首先,Selenium 本身并不是一个单独的工具,它包含 IDE、 Gird 和 WebDriver 等几个部分;其次,Selenium 与编程语言的关系,以及它在编程语言中 所扮演的角色;最后,如何开发一个完整的自动化测试项目。初学者都会有这样的疑问。 当时,基于 Python 语言的 Selenium 自动化测试资料并不太多,大多资料都是基于 Java 语言的,所以学习过程也颇费周折。不过,在此过程中也得到了许多朋友的帮助,其中, 乙醇的文档和 MarkRabbit 的细心指导对我的帮助很大,在此表示感谢。

 

  从事软件测试工作不久后,我便养成了写博客的习惯,把平时的学习与积累用简单易 懂的方式整理成博文,自然也会把这个技术以一个系列整理分享。后来,为了方便读者阅 读,把这个系列的十几篇博文整理成了 PDF 格式,并命名为 Selenium WebDriver (python), 这应该可以看作本书的原型。再后来,不断地更新与扩充这份文档的内容,技术不再局限 于 WebDriver API 的操作,于是更名为《Selenium 2 Python 自动化测试实战》,基本知识体 系已经确定。与此同时,与乙醇合作的自动化相关课程也在同步开展中,使本文档中的内 容具有很强的实战性,以解决具体的问题为出发点,用大量的实例来说明自动化实施的思 想与概念。

 

  本书的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,这并非我 的初衷,我希望读者在学习本书的内容后能提高综合的技术高度与宽度,从而摆脱简单的 手工测试,向高级测试工程师的道路迈进。为此,我用了一定的章节来介绍 Python 的基础 与应用、BDD 行为驱动、GitHub 的使用,以及持续集成工具的使用等。

 

  本书能够出版首先需要感谢编辑安娜,她为本书的出版提供了许多意见与帮助。其次, 需要感谢以往各期的学生,在传授你们技术的过程中我同样也收获颇多。另外,还要感谢 王成成、符志辉、张超、刘玉凤、吴宇、许晶晶、李娜、李朋程等学生,是你们帮助我校 对了这本书中的内容。

 

  虫师

京东~Selenium 2自动化测试实战 基于Python语言