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

Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手
作 者: 田春成
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  田春成,多年测试开发经验,长期从事自动化测试框架、分布式测试平台设计与开发工作。现为某创业公司技术总监。李靖,资深测试开发工程师,十年开发测试经验。曾在外企SAP从事自动化、性能测试工作。长期从事自动化测试技术选型、技术研究和框架设计相关工作。

内容简介

Selenium是目前非常流行的一种自动化测试工具。本书基于Python 3语言讲述了*新的Selenium 3的基本理论与操作,涉及各种高级应用,以及如何进行项目实战,并提供了详细的自动化平台部署步骤。本书共14章,分为4篇。第1篇介绍了Selenium概况、相关的基础知识及环境的搭建步骤;第2篇介绍了Selenium涉及的各种技术,包括前端技术、Selenium元素定位、Selenium常用方法及WebDriver进阶应用;第3篇以携程订票系统为例,深入探讨了如何进行项目实战与优化,详细介绍了项目重构、数据驱动测试、Page Object设计模式及行为驱动等相关的各种常用技术;第4篇介绍了平台建设相关的一些实用技术,如平台搭建维护、项目部署及运用Docker容器技术进行测试等。为了使读者不但能掌握Selenium自动化测试,而且能够迅速获得项目经验,彻底掌握并灵活运用到实际的测试项目中,本书注重理论与实践相结合,提供了大量典型的自动化测试实例,按照由浅入深、前后照应的顺序来安排内容。如果你是初学者,可以按照本书安排的先后顺序来学习,这会让你对自动化项目能更快上手;如果你是有经验的高级测试从业人员,可以根据自己的需求阅读此书,借此来夯实基础,获得更多的项目设计和部署的经验,以及对项目全局方面的认知。

图书目录

目  录

第一篇 环境篇

第1章 自动化测试简介\t3

1.1 什么是自动化测试\t3

1.2 自动化测试的分类\t4

1.3 自动化测试项目的适用条件\t5

1.4 自动化测试总结\t5

1.5 为什么选择Selenium\t6

1.5.1 Selenium的特性\t6

1.5.2 Selenium的发展\t7

第2章 Selenium IDE的使用\t9

2.1 Selenium IDE介绍\t9

2.1.1 Selenium IDE的安装步骤\t10

2.1.2 Selenium IDE的功能界面与工具栏介绍\t11

2.1.3 Selenium IDE脚本介绍\t12

2.1.4 waitforText、assertText和verifyText命令讲解\t14

2.1.5 通过实例讲解storeTitle命令和echo命令\t15

2.2 从Selenium IDE导出脚本\t15

第3章 Python与Selenium环境搭建\t18

3.1 Windows环境下的安装\t19

3.1.1 Python安装\t19

3.1.2 Selenium安装\t21

3.1.3 开发工具IDE安装\t24

3.1.4 不同浏览器环境搭建\t31

3.2 Mac OS环境下的安装\t32

3.2.1 Python安装\t33

3.2.2 Selenium安装\t34

3.2.3 浏览器的驱动\t35

第二篇 基础篇

第4章 前端技术简介\t39

4.1 HTML\t39

4.1.1 HTML元素\t40

4.1.2 HTML表单\t46

4.2 CSS\t47

4.3 JavaScript\t48

第5章 Selenium元素定位\t50

5.1 Python基础知识\t50

5.1.1 数字类型\t51

5.1.2 字符串类型\t51

5.1.3 常用的判断与循环语句\t52

5.1.4 集合\t54

5.1.5 列表对象\t57

5.2 Selenium八大定位\t66

5.2.1 id定位\t66

5.2.2 name定位\t67

5.2.3 class定位\t68

5.2.4 link_text定位\t69

5.2.5 partial_link_text定位\t70

5.2.6 CSS定位\t70

5.2.7 XPath定位\t73

5.2.8 tag_name定位\t75

第6章 Selenium常用方法\t77

6.1 基本方法\t77

6.2 特殊元素定位\t82

6.2.1 鼠标悬停操作\t82

6.2.2 Select操作\t83

6.2.3 利用JavaScript操作页面元素\t88

6.2.4 jQuery操作页面元素\t90

6.2.5 常用的鼠标事件\t92

6.2.6 常用的键盘事件\t93

6.3 Frame操作\t94

6.4 上传附件操作\t96

6.4.1 上传附件操作方式一\t97

6.4.2 上传附件操作方式二\t97

6.4.3 上传附件操作方式三\t100

6.5 Cookie操作\t100

6.6 Selenium帮助文档\t102

第7章 Selenium WebDriver进阶应用\t104

7.1 滑块操作\t104

7.1.1 携程注册业务分析\t105

7.1.2 滑块处理思路\t106

7.2 项目中的截图操作\t107

7.2.1 页面截图\t108

7.2.2 元素截图\t108

7.2.3 验证码处理思路\t109

7.3 Web页面多窗口切换\t117

7.4 元素模糊定位\t118

7.5 复合定位\t120

第三篇 项目篇

第8章 项目实战\t123

8.1 项目需求分析汇总\t123

8.1.1 制定项目计划\t124

8.1.2 制定测试用例\t125

8.2 业务场景覆盖与分拆\t126

8.2.1 逐个页面元素分析\t129

8.2.2 分层创建脚本\t133

8.3 项目代码总结\t148

第9章 代码优化与项目重构\t150

9.1 项目重构\t150

9.1.1 重构――元素定位方法优化\t150

9.1.2 车次信息选择优化\t154

9.1.3 重构――代码分层优化\t157

9.1.4 重构――三层架构\t160

9.2 代码优化\t164

9.2.1 重构――项目异常处理\t164

9.2.2 重构――智能等待\t167

第10章 数据驱动测试\t168

10.1 一般文件操作\t169

10.1.1 文本文件\t169

10.1.2 CSV文件\t171

10.1.3 Excel文件\t173

10.1.4 JSON文件操作\t176

10.1.5 XML文件操作\t179

10.1.6 YAML文件操作\t181

10.1.7 文件夹操作\t184

10.2 通过Excel参数,实现参数与脚本的分离\t184

10.2.1 创建Excel文件,维护测试数据\t185

10.2.2 Framework Log设置\t186

10.2.3 初步实现数据驱动\t192

10.3 数据驱动框架DDT\t198

10.3.1 单元测试\t198

10.3.2 数据驱动框架的应用\t208

10.3.3 利用DDT+Excel实现简单的重复性测试\t218

第11章 Page Object设计模式\t222

11.1 什么是PO\t222

11.2 PO实战\t223

11.2.1 Common层代码分析\t224

11.2.2 Base层代码分析\t228

11.2.3 PageObject层代码分析\t230

11.2.4 TestCases层代码分析\t236

11.2.5 Data层分析\t237

11.2.6 Logs层分析\t237

11.2.7 Reports层分析\t238

11.2.8 其他分析\t238

11.2.9 PO项目执行\t238

第12章 行为驱动测试\t242

12.1 环境安装\t242

12.2 行为驱动之小试牛刀\t243

12.3 基于Selenium的行为驱动测试\t246

12.4 结合PO的行为驱动测试\t247

第四篇 平台篇

第13章 测试平台维护与项目部署\t253

13.1 Git应用\t253

13.1.1 Git安装\t254

13.1.2 Git常用操作\t257

13.1.3 GitHub运用\t259

13.2 Jenkins安装\t263

13.3 配置Jenkins\t268

13.4 Jenkins应用\t273

13.4.1 自由风格项目介绍\t273

13.4.2 Jenkins Pipeline\t277

13.5 完整的Jenkins自动化实例\t281

13.6 项目部署\t286

13.6.1 获取当前环境模块列表\t286

13.6.2 安装项目移植所需模块\t287

第14章 Docker容器技术与多线程测试\t288

14.1 Docker简介\t289

14.2 Docker的一般应用场景\t291

14.3 Docker的安装和简单测试\t292

14.3.1 Docker的安装\t292

14.3.2 Docker的简单测试\t294

14.4 Python多线程介绍\t295

14.4.1 一般方式实现多线程\t295

14.4.2 用可调用类作为参数实例化Thread类\t296

14.4.3 Thread类派生子类(重写run方法)\t297

14.5 本地利用多线程执行Selenium测试\t298

14.6 利用Docker容器技术进行多线程测试\t300

14.6.1 Selenium Grid介绍\t301

14.6.2 安装需要的镜像\t302

14.6.3 启动Selenium Hub\t303

14.6.4 启动Selenium Node\t303

14.6.5 查看Selenium Grid Console界面\t304

14.6.6 在Docker环境下执行多线程测试\t304