欢迎光临
免费的PDF电子书下载网站

Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手 PDF下载

编辑推荐

  • 本书真正为软件测试人员考虑,在有限的篇幅内既讲解了必需的Python语言知识,也设计了很多演示案例、项目等,内容翔实,代码可以拿来即用。
  • 本书作者具有丰富的实战经验,均具有多年测试开发经验,长期从事自动化测试框架、分布式测试平台设计与开发工作。
  • 颠覆传统,循序渐进落地自动化测试项目,在项目中学会Selenium自动化与Python语言。
  • 此外还介绍了平台建设相关一些实用技术,如平台搭建维护、项目部署以及运用Docker容器技术进行测试等。

 ;

内容简介

Selenium是目前非常流行的一种自动化测试工具。本书基于Python 3语言讲述了*的Selenium 3的基本理论与操作,涉及各种高级应用,以及如何进行项目实战,并提供了详细的自动化平台部署步骤。

本书共14章,分为4篇。第1篇介绍了Selenium概况、相关的基础知识及环境的搭建步骤;第2篇介绍了Selenium涉及的各种技术,包括前端技术、Selenium元素定位、Selenium常用方法及WebDriver进阶应用;第3篇以携程订票系统为例,深入探讨了如何进行项目实战与优化,详细介绍了项目重构、数据驱动测试、Page Object设计模式及行为驱动等相关的各种常用技术;第4篇介绍了平台建设相关的一些实用技术,如平台搭建维护、项目部署及运用Docker容器技术进行测试等。

为了使读者不但能掌握Selenium自动化测试,而且能够迅速获得项目经验,彻底掌握并灵活运用到实际的测试项目中,本书注重理论与实践相结合,提供了大量典型的自动化测试实例,按照由浅入深、前后照应的顺序来安排内容。

如果你是初学者,可以按照本书安排的先后顺序来学习,这会让你对自动化项目能更快上手;如果你是有经验的高级测试从业人员,可以根据自己的需求阅读此书,借此来夯实基础,获得更多的项目设计和部署的经验,以及对项目全局方面的认知。

作者简介

田春成,多年测试开发经验,长期从事自动化测试框架、分布式测试平台设计与开发工作。现为某创业公司技术总监。

李靖,资深测试开发工程师,十年开发测试经验。曾在外企SAP从事自动化、性能测试工作。长期从事自动化测试技术选型、技术研究和框架设计相关工作。

Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手 PDF下载

目录

第一篇 ; 环境篇

第1章 ; 自动化测试简介·· 3

1.1 ; 什么是自动化测试·· 3

1.2 ; 自动化测试的分类·· 4

1.3 ; 自动化测试项目的适用条件·· 5

1.4 ; 自动化测试总结·· 5

1.5 ; 为什么选择Selenium· 6

1.5.1 ; Selenium的特性·· 6

1.5.2 ; Selenium的发展·· 7

第2章 ; Selenium IDE的使用·· 9

2.1 ; Selenium IDE介绍·· 9

2.1.1 ; Selenium IDE的安装步骤·· 10

2.1.2 ; Selenium IDE的功能界面与工具栏介绍·· 11

2.1.3 ; Selenium IDE脚本介绍·· 12

2.1.4 ; waitforText、assertText和verifyText命令讲解·· 14

2.1.5 ; 通过实例讲解storeTitle命令和echo命令·· 15

2.2 ; 从Selenium IDE导出脚本·· 15

第3章 ; Python与Selenium环境搭建·· 18

3.1 ; Windows环境下的安装·· 19

3.1.1 ; Python安装·· 19

3.1.2 ; Selenium安装·· 21

3.1.3 ; 开发工具IDE安装·· 24

3.1.4 ; 不同浏览器环境搭建·· 31

3.2 ; Mac OS环境下的安装·· 32

3.2.1 ; Python安装·· 33

3.2.2 ; Selenium安装·· 34

3.2.3 ; 浏览器的驱动·· 35

第二篇 ; 基础篇

第4章 ; 前端技术简介·· 39

4.1 ; HTML· 39

4.1.1 ; HTML元素·· 40

4.1.2 ; HTML表单·· 46

4.2 ; CSS· 47

4.3 ; JavaScript 48

第5章 ; Selenium元素定位·· 50

5.1 ; Python基础知识·· 50

5.1.1 ; 数字类型·· 51

5.1.2 ; 字符串类型·· 51

5.1.3 ; 常用的判断与循环语句·· 52

5.1.4 ; 集合·· 54

5.1.5 ; 列表对象·· 57

5.2 ; Selenium八大定位·· 66

5.2.1 ; id定位·· 66

5.2.2 ; name定位·· 67

5.2.3 ; class定位·· 68

5.2.4 ; link_text定位·· 69

5.2.5 ; partial_link_text定位·· 70

5.2.6 ; CSS定位·· 70

5.2.7 ; XPath定位·· 73

5.2.8 ; tag_name定位·· 75

第6章 ; Selenium常用方法·· 77

6.1 ; 基本方法·· 77

6.2 ; 特殊元素定位·· 82

6.2.1 ; 鼠标悬停操作·· 82

6.2.2 ; Select操作·· 83

6.2.3 ; 利用JavaScript操作页面元素·· 88

6.2.4 ; jQuery操作页面元素·· 90

6.2.5 ; 常用的鼠标事件·· 92

6.2.6 ; 常用的键盘事件·· 93

6.3 ; Frame操作·· 94

6.4 ; 上传附件操作·· 96

6.4.1 ; 上传附件操作方式一·· 97

6.4.2 ; 上传附件操作方式二·· 97

6.4.3 ; 上传附件操作方式三·· 100

6.5 ; Cookie操作·· 100

6.6 ; Selenium帮助文档·· 102

第7章 ; Selenium WebDriver进阶应用·· 104

7.1 ; 滑块操作·· 104

7.1.1 ; 携程注册业务分析·· 105

7.1.2 ; 滑块处理思路·· 106

7.2 ; 项目中的截图操作·· 107

7.2.1 ; 页面截图·· 108

7.2.2 ; 元素截图·· 108

7.2.3 ; 验证码处理思路·· 109

7.3 ; Web页面多窗口切换·· 117

7.4 ; 元素模糊定位·· 118

7.5 ; 复合定位·· 120

第三篇 ; 项目篇

第8章 ; 项目实战·· 123

8.1 ; 项目需求分析汇总·· 123

8.1.1 ; 制定项目计划·· 124

8.1.2 ; 制定测试用例·· 125

8.2 ; 业务场景覆盖与分拆·· 126

8.2.1 ; 逐个页面元素分析·· 129

8.2.2 ; 分层创建脚本·· 133

8.3 ; 项目代码总结·· 148

第9章 ; 代码优化与项目重构·· 150

9.1 ; 项目重构·· 150

9.1.1 ; 重构——元素定位方法优化·· 150

9.1.2 ; 车次信息选择优化·· 154

9.1.3 ; 重构——代码分层优化·· 157

9.1.4 ; 重构——三层架构·· 160

9.2 ; 代码优化·· 164

9.2.1 ; 重构——项目异常处理·· 164

9.2.2 ; 重构——智能等待·· 167

第10章 ; 数据驱动测试·· 168

10.1 ; 一般文件操作·· 169

10.1.1 ; 文本文件·· 169

10.1.2 ; CSV文件·· 171

10.1.3  Excel文件·· 173

10.1.4  JSON文件操作·· 176

10.1.5  XML文件操作·· 179

10.1.6  YAML文件操作·· 181

10.1.7  文件夹操作·· 184

10.2  通过Excel参数,实现参数与脚本的分离·· 184

10.2.1  创建Excel文件,维护测试数据·· 185

10.2.2  Framework Log设置·· 186

10.2.3  初步实现数据驱动·· 192

10.3  数据驱动框架DDT· 198

10.3.1  单元测试·· 198

10.3.2  数据驱动框架的应用·· 208

10.3.3  利用DDT Excel实现简单的重复性测试·· 218

第11章  Page Object设计模式·· 222

11.1  什么是PO· 222

11.2  PO实战·· 223

11.2.1  Common层代码分析·· 224

11.2.2  Base层代码分析·· 228

11.2.3  PageObject层代码分析·· 230

11.2.4  TestCases层代码分析·· 236

11.2.5  Data层分析·· 237

11.2.6  Logs层分析·· 237

11.2.7  Reports层分析·· 238

11.2.8  其他分析·· 238

11.2.9  PO项目执行·· 238

第12章  行为驱动测试·· 242

12.1  环境安装·· 242

12.2  行为驱动之小试牛刀·· 243

12.3  基于Selenium的行为驱动测试·· 246

12.4  结合PO的行为驱动测试·· 247

第四篇  平台篇

第13章  测试平台维护与项目部署·· 253

13.1  Git应用·· 253

13.1.1  Git安装·· 254

13.1.2  Git常用操作·· 257

13.1.3  GitHub运用·· 259

13.2  Jenkins安装·· 263

13.3  配置Jenkins 268

13.4  Jenkins应用·· 273

13.4.1  自由风格项目介绍·· 273

13.4.2  Jenkins Pipeline 277

13.5  完整的Jenkins自动化实例·· 281

13.6  项目部署·· 286

13.6.1  获取当前环境模块列表·· 286

13.6.2  安装项目移植所需模块·· 287

第14章  Docker容器技术与多线程测试·· 288

14.1  Docker简介·· 289

14.2  Docker的一般应用场景·· 291

14.3  Docker的安装和简单测试·· 292

14.3.1  Docker的安装·· 292

14.3.2  Docker的简单测试·· 294

14.4  Python多线程介绍·· 295

14.4.1  一般方式实现多线程·· 295

14.4.2  用可调用类作为参数实例化Thread类·· 296

14.4.3  Thread类派生子类(重写run方法)·· 297

14.5  本地利用多线程执行Selenium测试·· 298

14.6  利用Docker容器技术进行多线程测试·· 300

14.6.1  Selenium Grid介绍·· 301

14.6.2  安装需要的镜像·· 302

14.6.3  启动Selenium Hub· 303

14.6.4  启动Selenium Node· 303

14.6.5  查看Selenium Grid Console界面·· 304

14.6.6  在Docker环境下执行多线程测试·· 304

 

 

媒体评论

……纵览全书,内容循序渐进,概念清晰明了,理论联系实际,从易到难,知识体系全面而系 统,是一本通过 Python 语言来全面掌握 Selenium 3 的好书。

——Dell EMC 中国研发集团资深架构师  茹炳晟

 

自动化测试已经是敏捷开发的流程中不可或缺的一环。本书以实战项目为中心,持续地围绕项目来嵌入框架思想等重要内容。特别对书中的Page Object设计模式在项目中的详细应用和利用Docker技术执行多线程测试等内容印象深刻。总体来说,本书言简意赅,干货多多,值得一读。

——英国文化教育协会西南区IT服务交付经理 Amber Dong

 

自动化测试近几年比较热门,市场需求也比较大。本书的特点是能真正地为软件测试人员考虑,因为在有限的篇幅内既讲解了必需的Python语言知识,也设计了很多演示案例,项目等,内容翔实,代码可以拿来即用。此书适合初学者,书中的知识体系是层层递进的,比较容易掌握和吸收;也适合有经验的从业者,有一定的深度和广度。

——苏州博纳讯动软件有限公司 测试总监 金伟

 

本书从测试人员真正的需求出发,结合典型的项目案例,以通俗易懂的形式,由浅入深地讲解了如何对企业级项目部署并实施Selelnium自动化。读完此书,等于多了一项Selelnium的项目经验。

——51CTO学院 总监 张宝龙

前沿

 

 

推 荐 序

 

 

 

在这个软件技术飞速发展的时代,伴随着软件架构的不断演进,软件测试技术也随之不断完善和发展——从早年完全基于GUI的自动化测试,到现如今前端GUI自动化测试和后端API自动化测试并驾齐驱。从测试介入的时机上看,软件测试正在不断“左移”,即在开发的早期阶段,测试人员就会参与其中。测试人员会从软件的可测试性需求、代码质量、接口质量等多个维度来把控软件的质量。从测试分层体系的设计上看,目前很多测试都被逐渐从前端GUI向后端API或者接口迁移。

按理说,在这种情况下前端GUI测试的重要性会被逐渐削弱,但事实并非如此,目前依然有大量的面向终端用户的测试用例,需要在GUI的层面来做完整的验证,而且这些GUI测试的需求在将来很长时间内会长期存在,并且对于浏览器的多样性、GUI测试的稳定性、自动化测试框架的开放性比以往任何时候都有更高的要求。为此,作为测试工程师非常有必要掌握扎实的主流GUI自动化测试技术,并且能够将其应用到实际的工程项目中。

Selenium作为开源领域最主流的GUI自动化测试框架,将是你深入学习掌握GUI自动化测试的不二选择。Selenium从早期的基于RemoteController来规避同源策略的1.0版本,到基于WebDriver而大获成功的2.0版本,再到现在能够支持更多浏览器,以及基于Java 8的最新3.0版本,其自身也在不断地完善和发展。毫不夸张地说,Selenium几乎已经成为GUI自动化测试事实上的行业标准。

Python语言简单易学、代码精简优雅,又有大量的第三方库支持,是学习和入门自动化测试的首选开发语言。

本书系统地讲解了基于Python语言使用Selenium 3开展GUI自动化测试的方方面面,既有面向初级用户的基础环境搭建方法和Selenium的基础知识,也有结合实际项目的大量工程实践。通过自我改进的重构过程,依次引出可重用脚本、数据驱动、页面对象模型及BDD等核心概念,使读者能够循序渐进地掌握GUI测试的核心概念和实践方法。

此外,本书还介绍了自动化测试平台建设的基础知识,帮助读者拓宽视野,站在更高的层面理解自动化测试的生态体系。

纵览全书,内容循序渐进,概念清晰明了,理论联系实际,从易到难,知识体系全面而系统,是一本通过Python语言来全面掌握Selenium 3的好书。

 

 

茹炳晟

Dell EMC中国研发集团资深架构师

2019年6月于上海

 

前  言

 

 

 

在2007年毕业之后,笔者从事的第一份工作与开发相关。当时所在的公司因为业务层面的需求,开始组建测试团队,机缘巧合之下,笔者负责组建测试团队的工作。从刚入行时接触的全功能测试,再到QTP、Selenium等自动化测试工具,时间已经过去了8年之久。这8年期间,笔者换过多份工作,接触过很多新项目,无一例外的是,笔者都会在工作中用到Selenium。更重要的是,这么多年过去了,Selenium未见颓势,反而功能越来越强大,它能做的事情也越来越多。从Web自动化测试到辅助爬虫工具开发,再到模拟移动端测试,都可以见到Selenium的身影。

随着大数据和机器学习的兴起,Python语言变得异常火热,就连小学生对此也颇感兴趣并学习,甚至部分地区的中学把Python设为必修课程。Python语言语法简单且功能强大,有丰富和强大的类库。对编程能力较弱的初学者来说,Python语言更容易学习和使用;对有编程经验的读者来说,学习Python语言的成本很低,可以在很短的时间内学习并使用Python来处理问题。本书就选择了Python与Selenium组合的方式对项目进行自动化测试。笔者身边的很多朋友,一直想提高自动化测试技术,都是先抱着一本厚厚的Python书学习,再学习自动化测试工具。学习一门语言本身比较枯燥,很多人还没学完Python就放弃学习自动化测试工具了,而且这种学习方式很容易因为知识没有及时应用而遗忘。

本书的例子虽然基于Python语言,但更多的是提供处理问题的思路与方法,因此,对于想学习Selenium自动化测试技术而不愿意尝试使用Python语言的读者来说,同样可以把本书作为参考资料。

最近几年,笔者在工作之余一直在做培训。很多新手在学习测试技术的过程中会遇到各种难题,经常有人咨询有没有一本偏项目实战的Selenium书,于是笔者便邀请好友李靖一起编写此书,希望在自动化测试学习的道路上能给读者提供一点帮助。

本书的初衷是提高读者的技术学习深度与广度,从而向测试开发工程师的道路迈进。为此,在本书的最后一篇介绍了Git、Docker容器的使用,以及持续集成工具Jenkins的使用等。

本书的最大特点是不需要专门学习Python语言,读者可以零基础入门,通过本书案例中的自动化思维,结合Selenium的使用学习Python,循序渐进地学会使用Selenium做企业级项目。

本书的知识体系

本书分为4篇,共14章。

第一篇  环境篇(第1~3章):主要介绍本书所涉及的基础知识、自动化测试的发展状况、Selenium IDE的使用,以及环境搭建等基础性工作。

第二篇  基础篇(第4~7章):主要介绍自动化所必需的前端知识、Python基础、Selenium八大定位、常用方法及高级特性。

第三篇  项目篇(第8~12章):主要介绍如何从零开始做一个自动化测试项目。首先从需求分析入手并熟悉业务流程,其次编写脚本,实现整个流程的功能,最后不断地对脚本进行重构,如函数、文件、数据驱动、PageObject设计模式、BDD(行为驱动开发)等。

第四篇  平台篇(第13~14章):主要介绍自动化测试平台,包含Git、Jenkins、多线程并发测试及Docker容器等技术。

本书适合哪些读者

  • 软件测试人员。
  • 在校学生,想学习自动化测试的人员。
  • 功能测试人员。
  • 想深入学习自动化测试框架的人员。
  • 想从事测试的开发人员。
  • 测试经理。

本书作者

本书由田春成和李靖编写,刘娟参与修订了本书。

Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手