𝔖 Scriptorium
✦   LIBER   ✦

📁

Selenium 自动化测试完全指南:基于 Python

✍ Scribed by 赵卓


Publisher
人民邮电出版社
Year
2021
Tongue
Chinese
Leaves
352
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


本书共有19章。第1~10章介绍Selenium IDE、Selenium WebDriver、Selenium Grid、Appium等工具的应用。第11~16章介绍自动化测试实战的组织及模式优化,包括如何通过Selenium进行功能测试和非功能测试,如何完善功能测试驱动,如何设置功能测试的逻辑组织结构,如何优化功能测试的物理组织结构,如何增强功能测试的运行反馈机制。第17~19章讲述自动化实战的落实及实践优化。

本书适合测试人员和开发人员阅读。

✦ Table of Contents


封面
内容提要
前 言
服务与支持
目 录
第一部分 Selenium 工具组
第 1 章 Selenium 自动化测试概览
1.1 自动化测试简介
1.2 Selenium 简介
Selenium 发展史
1.3 Selenium 4 与 Selenium 3 的异同
1.4 Selenium 工具集
1.4.1 Selenium IDE
1.4.2 Selenium WebDriver
1.4.3 Selenium Grid
1.4.4 Appium
第 2 章 Selenium IDE 的基本运用
2.1 Selenium IDE 的安装
2.2 Selenium IDE 的基本操作
2.2.1 录制与回放
2.2.2 保存回放文件
2.2.3 添加测试验证
2.2.4 导出测试脚本
2.2.5 其他运用
第 3 章 Selenium IDE 的高级运用
3.1 Selenium IDE 支持的 5 类命令
3.1.1 界面操作类命令
3.1.2 测试验证类命令
3.1.3 执行等待类命令
3.1.4 流程控制类命令
3.1.5 测试辅助类命令
3.2 测试套件管理
3.3 命令行运行器
3.3.1 安装并运行各个浏览器
3.3.2 常用参数设置
第 4 章 Selenium WebDriver 的基本运用
4.1 Selenium WebDriver 的安装与配置
4.1.1 配置驱动程序
4.1.2 配置环境变量
4.1.3 安装绑定语言
4.2 选择浏览器开始测试
4.3 浏览器窗口的基本操作
4.3.1 浏览器导航操作
4.3.2 浏览器窗口操作
4.3.3 获取浏览器信息
4.4 查找页面元素
4.4.1 按 id 属性查找
4.4.2 按 name 属性查找
4.4.3 按 class 属性查找
4.4.4 按链接文本查找
4.4.5 按链接文本进行模糊查找
4.4.6 按标签类型查找
4.4.7 按 XPath 查找
4.4.8 按 CSS 选择器查找
4.4.9 通过 By 对象按动态条件查找
4.4.10 查找元素集合
4.4.11 嵌套查找
4.5 页面元素的基本操作
4.5.1 单击元素
4.5.2 向元素输入内容或上传附件
4.5.3 清空元素的内容
4.5.4 提交表单元素
4.5.5 下拉框元素的选项操作
4.6 获取页面元素的内容
4.6.1 获取元素的基本属性
4.6.2 获取元素的 HTML 属性、DOM 属性及 CSS 属性
4.6.3 获取元素的位置与大小
4.6.4 获取下拉框元素的选项
4.7 处理浏览器弹出框
4.7.1 弹出框的确认与取消
4.7.2 获取弹出框的文本
4.7.3 向弹出框中输入内容
4.8 多网页切换操作
4.8.1 多浏览器窗口的切换
4.8.2 IFrame 切换
4.9 结束 WebDriver 会话
第 5 章 Selenium WebDriver 的高级运用
5.1 深入了解 Selenium 的等待机制
5.1.1 页面级等待机制
5.1.2 元素级等待机制—强制等待
5.1.3 元素级等待机制—隐式等待
5.1.4 元素级等待机制—显式等待
5.1.5 脚本级等待机制
5.2 对键盘和鼠标进行精准模拟
5.2.1 ActionChains—操作链
5.2.2 ActionChains 支持的全部鼠标与键盘操作设置
5.2.3 模拟复杂鼠标操作案例—拖放操作
5.2.4 模拟复杂键盘操作案例—组合键
5.3 操作浏览器 Cookie
5.3.1 读取 Cookie
5.3.2 新增和删除 Cookie
5.4 对浏览器窗口或元素截图
5.4.1 对浏览器窗口截图
5.4.2 对元素截图
5.5 为 Selenium 操作附加自定义事件
5.5.1 附加 WebDriver 级自定义事件
5.5.2 附加元素级自定义事件
5.6 浏览器启动参数设置
5.6.1 WebDriver 实例化参数
5.6.2 WebDriver 启动选项设置
5.7 通过 JavaScript 执行器进行深度操作
5.7.1 执行同步脚本—返回值与类型转换
5.7.2 执行同步脚本—传入参数
5.7.3 执行同步脚本—复杂案例:引入 JavaScript 库处理 HTML5 拖曳
5.7.4 执行异步脚本
第 6 章 Selenium Grid 的基本运用
6.1 Selenium Grid 各组件的部署
6.1.1 部署 Selenium Grid Hub
6.1.2 部署 Selenium Grid Node
6.2 在 Selenium Grid 上运行测试
6.2.1 创建远程实例运行测试
6.2.2 远程实例管理
6.2.3 独立模式
第 7 章 Selenium Grid 的高级运用
7.1 Selenium Grid 详细参数设置
7.1.1 Hub 与 Node 的功能参数设置
7.1.2 WebDriver 浏览器参数设置
7.2 使用 Selenium Grid 进行分布式并行测试
7.3 容器化 Selenium——整合 Docker
7.3.1 Docker 简介
7.3.2 安装 Docker 并拉取 Selenium 镜像
7.3.3 在同一台机器上部署 Selenium Grid 镜像
7.3.4 在多台机器上部署 Selenium Grid 组成集群
7.4 容器化 Selenium——整合 Kubernetes
7.4.1 Kubernetes 简介
7.4.2 Kubernetes 的安装与配置
7.4.3 Kubernetes 的关键概念—Pod、Deployment、Service
7.4.4 在 Kubernetes 集群中部署 Selenium Grid
第 8 章 Selenium 4 的新特性预览
8.1 Selenium WebDriver 4
8.1.1 下载 WebDriver
8.1.2 相对定位器
8.1.3 显式等待组合逻辑
8.1.4 其他更新
8.2 Selenium Grid 4
8.2.1 下载与启动
8.2.2 运行测试
第 9 章 Appium 的基本运用
9.1 Appium 运行原理简介
9.2 Appium 的安装与配置
9.2.1 安装 Android SDK
9.2.2 安装 Appium 服务器
9.2.3 安装 Appium 客户端
9.3 使用 Appium 测试 Web 程序
9.3.1 设置浏览器驱动程序
9.3.2 编写代码操作 Web 应用程序
9.3.3 通过 Appium 工具查看元素信息
9.3.4 其他替代方案
9.4 使用 Appium 测试 App
9.4.1 连接真实的移动设备
9.4.2 解析启动属性 appPackage 和 appActivity
9.4.3 查看并定位界面元素
9.4.4 编写操作代码—微信登录案例
第 10 章 Appium 的高级运用
10.1 Appium 检测工具的具体功能
10.2 移动设备元素独有的定位
10.3 移动设备界面独有的操作
10.3.1 滑动操作与多点触控
10.3.2 触控操作链
10.3.3 剪贴板与虚拟键盘操作
10.4 移动设备 App 独有的操作
10.4.1 App 的安装、卸载、启用、关闭与隐藏
10.4.2 操作及获取当前的 appPackage 和 appActivity
10.5 移动设备系统独有操作
10.5.1 网络信号与通话
10.5.2 设备与电源管理
10.5.3 模拟 GPS 定位
10.6 测试辅助操作
10.6.1 屏幕录制
10.6.2 获取 App 性能消耗信息及上下文信息
10.7 并行运行多个移动设备
10.8 将 Appium 加入 Selenium Grid 集群
第二部分 自动化测试实战:组织及模式优化
第 11 章 使用 Selenium 进行功能测试
11.1 完善测试的基本要素
11.2 结合 Pytest 进行功能测试
11.2.1 Pytest 的安装与简介
11.2.2 基于 Pytest 编写 Selenium 测试
11.2.3 选择合适的执行方式
第 12 章 完善功能测试驱动以规范测试
12.1 引言
12.2 线性测试
12.3 模块化与库
12.4 数据驱动
12.5 关键字驱动
12.6 使用驱动时的误区
12.6.1 数据驱动的误区
12.6.2 关键字驱动的误区
12.7 最佳模式:混合驱动
12.7.1 混合第一层驱动
12.7.2 混合第二层驱动
12.8 创建配置文件以应对不同环境
12.8.1 让公共信息支持多环境配置
12.8.2 让用例数据支持多环境配置
第 13 章 设计功能测试的逻辑组织结构
13.1 测试的前置操作与后置操作
13.1.1 Pytest setup 与 teardown 功能详解
13.1.2 前后置操作实际运用案例
13.2 设定测试函数的先后顺序
13.2.1 文件级执行顺序
13.2.2 函数级执行顺序
13.2.3 自定义顺序
13.3 测试粒度规划
13.3.1 小粒度的测试
13.3.2 中粒度的测试
13.3.3 大粒度的测试
第 14 章 优化功能测试的物理组织结构
14.1 引言
14.2 通过页面对象规划待操作元素
14.3 通过继承关系组织公共元素
14.4 进一步解耦测试用例与操作动作
14.4.1 解耦测试工具级操作
14.4.2 解耦页面元素级操作
14.5 通过流式编程技术简化测试代码
第 15 章 增强功能测试的运行反馈机制
15.1 生成测试报告
15.2 并行运行测试
15.3 引入重试机制
第 16 章 使用 Selenium 进行非功能测试
16.1 网络爬虫
16.1.1 爬虫简介
16.1.2 使用 Selenium 实现爬虫
16.2 性能测试
16.2.1 多线程性能测试
16.2.2 结合 JMeter 进行测试
第三部分 自动化测试实战:落实及实践优化
第 17 章 自动化测试的规划
17.1 目标决定自动化测试的成败
17.1.1 必定走向失败的目标
17.1.2 能够引领成功的目标
17.2 测试设计决定自动化测试的成效
17.2.1 无效的测试设计
17.2.2 有效的测试设计
第 18 章 使用 Jenkins 进行持续集成
18.1 必要概念与工具简介
18.1.1 持续集成与 Jenkins 简介
18.1.2 Jenkins 的安装与配置
18.2 配置基于网站代码变化而自动执行的 Selenium 脚本
18.2.1 编写一个基于 Flask 的网站
18.2.2 编写该网站的自动部署脚本
18.2.3 编写测试该网站的 Selenium 测试脚本
18.2.4 在 Jenkins 中配置自动构建、部署与执行测试
18.3 配置基于时间定期自动执行的 Selenium 脚本
18.4 完善运行反馈配置
18.4.1 配置测试报告
18.4.2 配置邮件发送
第 19 章 选择自动化测试的实施方式
19.1 不同产品架构与开发流程下的自动化测试
19.2 以正确的数据说话——建立自动化测试评估体系
19.3 打造自动化测试闭环


📜 SIMILAR VOLUMES


Selenium 2自动化测试实战: 基于Python语言
✍ 虫师 📂 Library 📅 2016 🏛 电子工业出版社 🌐 Chinese

<p>《Selenium 2自动化测试实战——基于Python语言》共分 14 章。第 1 章是自动化测试相关基础知识的介绍;第 2 章到第 10 章是《Selenium 2自动化测试实战——基于Python语言》的重点,循 序渐进地介绍了自动化测试所用到的技术;第 11 章通过一个具体的项目综合运用了前面章节所介绍 的技术与技巧;第 12 章到第 14 章选取了当前最热门的技术进行了介绍,旨在扩展测试人员的综合技 术能力。 《Selenium 2自动化测试实战——基于Python语言》的写作目的并不是为了简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习</p> <p>《Sele

Selenium3自动化测试实战——基于Python语言
✍ 虫师 📂 Library 📅 2019 🏛 电子工业出版社 🌐 Chinese

<p>《Selenium3自动化测试实战——基于Python语言》共分 14章,第 1章介绍了自动化测试相关的基础知识。第 2章到第 10章是本书的重点,从环境搭建,到 WebDriver API介绍,再到单元测试框架的使用,循序渐进地介绍了自动化测试所用到的知识,最后再通过项目将这些知识串联起来。第 11章详细介绍了如何使用 Jenkins配置自动化测试项目。第 12章到第 14章介绍了移动自动化测试工具 appium的使用。</p> <p>《Selenium3自动化测试实战——基于Python语言》的写作目的并不是简单地告诉读者如何使用一个自动化测试工具,而是希望读者在学习本书的内容后能

Selenium自动化测试之道
✍ Ping++ 测试团队 📂 Library 📅 2017 🏛 清华大学出版社 🌐 Chinese

<p>《Selenium自动化测试之道——基于Python和Java语言》既介绍了测试工具Selenium的使用,又带领读者理清实施自动化测试的思路,后者尤其重要。正所谓,测试技术或工具只是“指月之手”,我们追求的是“月亮”,是如何放心地迭代、快速地交付高品质的产品。</p> <p>本书内容设置与当今企业,尤其是互联网公司所需的UI自动化测试技术环环相扣,归纳总结了可能遇到的难点以及解决问题的思路。</p> <p>本书介绍的行为驱动开发(BDD)与持续集成工具 Jenkins,都需要团结整个研发团队,甚至是相关的业务部门,才能将这些理念发挥得更好,因此对于促进研发过程改进也具有一定的参考价

Python自动化测试实战
✍ 无涯 📂 Library 📅 2019 🏛 电子工业出版社 🌐 Chinese

本书结合大量实际应用的案例,重点讲解了自动化测试在企业级的应用技术和实战。本书 帮助读者系统地学习 UI 自动化测试和接口自动化测试的技能。 本书分为两大部分:第 1 部分 UI 自动化测试,包括第 1~8 章,以新的视角介绍了 Selenium 的知识体系,结合具体的案例讲解了 Selenium 的 API 在 UI 自动化测试的不同场景下的应用, 典型问题的解决思路,主要内容包括 Selenium 的 API、单元测试框架 unittest、Jenkins、数据驱 动、页面对象设计模式和 UI 自动化测试实战。第 2 部分接口自动化测试,包括第 9~13 章,介 绍了 HTTP

Python 接口自动化测试
✍ 王浩然 📂 Library 📅 2019 🏛 电子工业出版社 🌐 Chinese

<p>《Python 接口自动化测试》没有采用传统的教科书写作模式,而是从要实现的目标着手,将“Python+MySQL 处理HTTP 接口”过程拆分成一个个知识点,最后串联各个知识点。本书主要介绍了如何用Python 实现接口自动化测试。全书主要内容包括接口基础、接口手工测试、编程前的准备、用Python 操作MySQL 数据库、用Python发送HTTP 请求、用Python 处理HTTP 返回包、用Python 导出测试数据、接口自动化及实际接口场景演示。</p> <p>《Python 接口自动化测试》适合初、中级测试工程师,对 Python 语言感兴趣的人员,以及想要提升技术的人员。