Selenium 3+Python 3自动化测试项目实战 从菜鸟到高手
作者:(中国)田春成
出版时间:2019年版
内容简介
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