Selenium 4 自动化测试项目实战:基于 Python 3
  • 推荐0
  • 收藏0
  • 浏览118

Selenium 4 自动化测试项目实战:基于 Python 3

田春成 , 李靖 (作者)  董英 (责任编辑)

  • 书  号:9787121455773
  • 出版日期:2023-06-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:博文小编
Selenium是目前非常流行的自动化测试工具之一。本书基于Python 3介绍Selenium 4的基本理论与操作,涉及各种高级应用,以及如何进行项目实战,并提供了详细的自动化平台部署步骤。
《Selenium 4 自动化测试项目实战:基于 Python 3》共13章,分为4篇。第1篇介绍了Selenium概况、相关的基础知识及环境的搭建步骤;第2篇介绍了Selenium涉及的各种技术,包括Selenium元素定位、Selenium常用方法等;第3篇以大牛测试系统为例,深入探讨了如何进行项目实战与优化,详细介绍了项目重构与代码优化、数据驱动测试、Page Object设计模式、pytest与Allure报告,以及行为驱动测试等各种常用技术;第4篇介绍了与平台建设相关的一些实用技术,如平台的搭建与维护、项目的部署及运用Docker容器技术进行测试等。
为了使读者不但能掌握Selenium自动化测试,而且能迅速获得项目经验,本书注重理论与实践相结合,提供了大量典型的自动化测试实例,按照由浅入深、前后照应的方式来安排内容,同时提供了直播教学视频。
如果你是初学者,可以按照本书章节的先后顺序来学习,这会让你更快上手自动化测试;如果你是有经验的高级测试从业人员,可以根据自己的需求阅读本书,夯实基础,获得更多的项目设计和部署经验,以及对项目全局的认知。
多年一线自动化测试经验总结,提供大量典型自动化测试实例,以“一镜到底”的手法对核心项目进行阐述,读完此书等于有了企业级项目经验,彻底掌握并灵活运用到自己的项目中
田春成,多年测试开发经验,长期从事自动化测试框架、分布式测试平台设计与开发工作。现为某创业公司技术总监。

李靖,资深测试开发工程师,十年测试开发经验。曾在外企SAP从事自动化测试、性能测试工作。长期从事自动化测试技术选型、技术研究和框架设计相关工作。
笔者在2019年出版《Selenium 3+Python 3自动化测试项目实战:从菜鸟到高手》一书之后,读者朋友提出了许多宝贵的意见。随着2021年Selenium 4正式发布,笔者也开始着手再版工作。3年疫情,给每个企业、每个人都带来了诸多不便,在“内卷”越来越严重的今天,如何才能从竞争中脱颖而出呢?大家在工作之余一定要多思考、多总结,努力提高自身的技能。
Python的语法简单且功能强大,对编程能力较弱的初学者来说,更容易学习和使用;对有编程经验的读者来说,学习Python的成本很低,可以在很短的时间内学会并使用Python来处理问题。
本书所有实例在上一版的基础之上都进行了重新设计,全部实例都可以在本地运行,方便大家快速学习。同时,本书增加了全新的项目,可以通过逐步迭代的方式快速落地自动化测试。不论有没有基础,只要按照本书介绍的路线学习,大部分读者都能在较短的时间内掌握Web自动化测试方法,为从事测试开发工作打下坚实的基础。
本书的初衷是提高读者的技术学习深度与广度,从而使其向测试开发工程师的道路迈进。为此,在本书的最后一篇中介绍了Git、Docker容器的使用方法,以及持续集成工具Jenkins的使用方法等。
本书最大的特点是不需要专门学习Python,读者可以零基础入门,通过本书实例中的自动化思维,结合Selenium来学习Python,并循序渐进地学会和使用Selenium来实现企业级项目。
本书的知识体系
本书分为4篇,共13章。
第一篇 环境篇(第1~3章):主要介绍自动化测试基础知识、Selenium的特性与发展、Selenium IDE的使用,以及环境搭建等基础性工作。
第二篇 基础篇(第4、5章):主要介绍一些Python基础知识、Selenium八大定位、Selenium常用方法等。
第三篇 项目篇(第6~11章):主要介绍如何从零开始做一个自动化测试项目。首先从需求分析入手并熟悉业务流程,然后编写脚本,实现整个流程的功能,最后不断地对脚本进行重构,如函数、文件、数据驱动、Page Object设计模式、使用pytest重构项目、行为驱动测试等。
第四篇 平台篇(第12、13章):主要介绍自动化测试平台,包括Git、Jenkins、Docker容器技术及多线程测试等内容。
本书适合哪些读者
• 软件测试人员。
• 在校学生,想学习自动化测试的人员。
• 功能测试人员。
• 想深入学习自动化测试框架的人员。
• 想从事测试工作的开发人员。
• 测试经理。
本书作者
本书由田春成和李靖编写,因水平有限,错误在所难免,不当之处恳请读者批评指正,作者邮箱2574674466@qq.com,书中配套资源及直播课程可通过微信公众号“大牛测试”获取,同时公众号中还提供了移动自动化、接口自动化、性能测试和面试宝典等专项内容。

目录

第一篇 环境篇
第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的功能界面与工具栏 12
2.1.3 Selenium IDE脚本 14
2.1.4 wait for text、assert text和verify text命令 17
2.1.5 通过实例讲解store title和echo命令 18
2.2 从Selenium IDE导出脚本 18
第3章 Python与Selenium环境搭建 21
3.1 Windows环境下的安装 22
3.1.1 安装Python 22
3.1.2 安装Selenium 25
3.1.3 安装开发工具和IDE 28
3.1.4 搭建不同的浏览器环境 35
3.2 macOS环境下的安装 37
3.2.1 安装Python 37
3.2.2 安装Selenium 40
3.2.3 浏览器的驱动 40

第二篇 基础篇
第4章 Selenium元素定位 43
4.1 Python基础知识 43
4.1.1 数字类型 44
4.1.2 字符串类型 44
4.1.3 常用的判断与循环语句 45
4.1.4 列表对象 47
4.2 Selenium八大定位 58
4.2.1 id定位 58
4.2.2 name定位 60
4.2.3 class定位 61
4.2.4 link_text定位 61
4.2.5 partial_link_text定位 63
4.2.6 CSS定位 63
4.2.7 XPath定位 65
4.2.8 tag_name定位 67
4.3 表格定位 68
4.3.1 遍历表格单元格 69
4.3.2 定位表格中的特定元素 70
4.3.3 定位表格中的子元素 71
4.4 关联元素定位策略 72
4.4.1 Above模式 73
4.4.2 Below模式 74
4.4.3 Left of模式 76
4.4.4 Right of模式 76
4.4.5 Near模式 77
4.4.6 Chaining relative locators模式 77
第5章 Selenium常用方法 79
5.1 基本方法 79
5.2 特殊元素定位 90
5.2.1 鼠标事件操作 90
5.2.2 常用的键盘事件 92
5.2.3 Select操作 93
5.2.4 定位一组元素 97
5.3 Frame操作 99
5.4 上传与下载附件 101
5.4.1 上传附件操作方式一 101
5.4.2 上传附件操作方式二 102
5.4.3 上传附件操作方式三 104
5.4.4 下载附件 105
5.5 Cookie操作 106
5.6 驱动管理模式 109
5.7 颜色验证 109
5.8 3种等待模式 110
5.8.1 强制等待模式 110
5.8.2 隐式等待模式 110
5.8.3 显式等待模式 111
5.9 多窗口切换 112
5.10 弹框操作 113
5.11 ChromeOptions 115
5.12 滑块操作 116
5.13 元素截图 117
5.14 JavaScript操作页面元素 118
5.15 jQuery操作页面元素 121
5.16 innerText与innerHTML 122
5.17 通过源码理解By.ID 123

第三篇 项目篇
第6章 项目实战 129
6.1 项目需求分析汇总 129
6.1.1 制订项目计划 130
6.1.2 编写测试用例 131
6.2 业务场景的覆盖与分拆 133
6.2.1 逐个分析页面元素 135
6.2.2 分层创建脚本 142
6.3 项目代码总结 153
第7章 项目重构与代码优化 156
7.1 项目重构 156
7.1.1 元素定位方法优化 156
7.1.2 新增岗位优化 159
7.1.3 代码分层优化 161
7.1.4 三层架构 165
7.2 代码优化 168
7.2.1 无人值守自动化 168
7.2.2 等待时间优化 170
第8章 数据驱动测试 172
8.1 一般文件操作 173
8.1.1 文本文件操作 173
8.1.2 CSV文件操作 175
8.1.3 Excel文件操作 177
8.1.4 JSON文件操作 180
8.1.5 XML文件操作 183
8.1.6 YAML文件操作 185
8.1.7 文件夹操作 188
8.2 通过Excel参数,实现参数与脚本的分离 188
8.2.1 创建Excel文件,维护测试数据 189
8.2.2 Framework Log设置 190
8.2.3 初步实现数据驱动 196
8.3 数据驱动框架DDT 200
8.3.1 单元测试 200
8.3.2 数据驱动框架应用 210
8.3.3 DDT+Excel实现循环测试 218
第9章 Page Object设计模式 222
9.1 什么是Page Object 222
9.2 Page Object实战 223
9.2.1 Common层代码分析 224
9.2.2 Base层代码分析 229
9.2.3 PageObject层代码分析 232
9.2.4 TestCases层代码分析 235
9.2.5 Data层分析 236
9.2.6 Logs层分析 237
9.2.7 Reports层分析 238
9.2.8 其他分析 239
9.2.9 执行Page Object项目 239
第10章 pytest框架实战 245
10.1 pytest与Allure 245
10.1.1 pytest的安装 246
10.1.2 简单测试案例介绍 246
10.1.3 引入类来管理测试方法 247
10.1.4 setup和teardown方法应用 248
10.1.5 fixtures功能应用 250
10.1.6 pytest如何做参数化 251
10.1.7 conftest应用 252
10.1.8 运行Selenium 255
10.1.9 使用pytest生成测试报告 256
10.1.10 集成Allure报告 257
10.2 使用pytest重构项目 259
第11章 行为驱动测试 261
11.1 安装环境 261
11.2 行为驱动之小试牛刀 262
11.3 基于Selenium的行为驱动测试 265
11.4 结合Page Object的行为驱动测试 267

第四篇 平台篇
第12章 测试平台维护与项目部署 273
12.1 Git应用 273
12.1.1 安装Git 274
12.1.2 Git常用操作 277
12.1.3 运用GitHub 280
12.2 安装Jenkins 283
12.3 配置Jenkins 287
12.4 Jenkins应用 292
12.4.1 自由风格项目介绍 292
12.4.2 Jenkins Pipeline 296
12.5 完整的Jenkins自动化实例 304
12.6 项目部署 313
12.6.1 获取当前环境模块列表 313
12.6.2 安装项目移植所需的模块 315
第13章 Docker容器技术与多线程测试 316
13.1 Docker简介 316
13.2 Docker的一般应用场景 318
13.3 Docker的安装和简单测试 319
13.3.1 Docker的安装 319
13.3.2 Docker的简单测试 321
13.4 Python多线程介绍 323
13.4.1 一般方式实现多线程 323
13.4.2 用可调用类作为参数实例化Thread类 324
13.4.3 Thread类派生子类(重写run方法) 325
13.5 使用Docker容器技术进行多线程测试 326
13.5.1 Selenium Grid 326
13.5.2 安装需要的镜像 327
13.5.3 启动Selenium Hub 328
13.5.4 启动Selenium Node 328
13.5.5 查看Selenium Grid Console界面 329
13.5.6 Docker环境下多线程并发执行Selenium Grid测试 330

读者评论