-
内容大纲
本书分为13章。第1章介绍了自动化测试框架设计基础。第2~7章主要介绍单元测试框架的扩展,包括自动化测试报告设计、数据驱动设计、数据库操作封装设计、随机测试数据设计、命令行工具设计和测试框架扩展功能设计。第8~11章主要介绍自动化测试库和设计模式,包括Web UI自动化测试设计、App UI自动化测试设计、HTTP接口自动化测试设计和自动化测试设计模式。第12章介绍了自动化测试平台化,以及Seldom框架如何为平台化提供支持。第13章介绍了自动化测试的AI探索。
本书适合自动化测试、软件开发和质量保证领域的开发者,以及各大院校计算机科学和软件工程专业的学生阅读,也适合有一定经验的开发人员参考使用。 -
作者介绍
虫师,原名胡志恒,高级测试工程师。2011年6月开始在博客园上持续分享各种测试技术和经验,文章多次被51testing等网站转载,精通性能测试、自动化测试等技术。 -
目录
第1章 自动化测试框架设计基础
1.1 相关概念对比
1.1.1 库与框架
1.1.2 工具与框架
1.1.3 项目与框架
1.2 框架设计基础
1.2.1 框架是独立的
1.2.2 框架仅实现通用的功能
1.2.3 框架应该有清晰的定位
1.3 单元测试框架
1.3.1 测试框架的基本功能
1.3.2 常见的单元测试框架
1.4 unittest扩展
1.4.1 实现unittest扩展
1.4.2 使用unittest扩展
1.5 pytest扩展
1.5.1 pytest扩展方式
1.5.2 实现pytest扩展
1.5.3 使用pytest扩展
1.6 构建Python
1.6.1 Poetry
1.6.2 PyPI仓库
第2章 自动化测试报告设计
2.1 实现jsonrunner
2.1.1 重写TestResult类
2.1.2 实现JSONTestRunner类
2.1.3 编写测试用例
2.2 HTML主题模板
2.3 Jinja模板引擎
2.3.1 Jinja2的基础使用方法
2.3.2 在Python中使用Jinja
2.4 基于unittest生成HTML测试报告
2.4.1 修改runner.py测试运行器
2.4.2 修改HTML模板
2.4.3 编写测试用例
第3章 数据驱动设计
3.1 unittest的数据驱动扩展
3.1.1 parameterized库
3.1.2 DDT库
3.2 参数化装饰器
3.2.1 实现data装饰器
3.2.2 实现dict数据格式支持
3.3 参数化数据文件
3.3.1 JSON数据转换
3.3.2 YAML数据转换
3.3.3 CSV数据转换
3.3.4 Excel数据转换
3.3.5 实现file_data装饰器
第4章 数据库作封装设计
4.1 作数据库技术
4.1.1 数据库驱动
4.1.2 ORM
4.2 数据库作封装
4.2.1 封装执行和查询
4.2.2 封装增查改删
第5章 随机测试数据设计
5.1 测试工具介绍
5.1.1 Faker
5.1.2 Hypothesis库
5.2 随机测试数据实战
5.2.1 随机生成手机号
5.2.2 随机生成中文姓名
5.2.3 获取在线时间
第6章 命令行工具设计
6.1 用Python实现命令行工具
6.1.1 argv的使用
6.1.2 argparse的使用
6.1.3 click的用法
6.2 命令行工具实战
6.2.1 实现自动化测试项目脚手架
6.2.2 实现性能工具
6.2.3 生成命令行工具
第7章 测试框架扩展功能设计
7.1 测试用例依赖
7.1.1 依赖测试用例结果
7.1.2 依赖测试条件
7.2 测试用例分类标签
7.2.1 实现分类标签
7.2.2 使用分类标签
7.3 使用缓存
7.3.1 Redis的使用
7.3.2 LRU Cache
7.3.3 磁盘文件模拟Cache
7.4 实现日志
7.4.1 logging模块
7.4.2 Loguru库
7.5 自定义异常
第8章 Web UI自动化测试设计
8.1 主流Web测试库
8.1.1 Selenium
8.1.2 Cypress
8.1.3 Playwright
8.2 Selenium API的二次开发
8.2.1 封装:重命名方法
8.2.2 封装:元素定位和动作整合
8.2.3 封装:独立每个函数
8.2.4 封装:链式调用
8.3 Selenium的断言设计
8.3.1 单元测试框架提供的通用断言
8.3.2 封装Selenium断言方法
8.4 Selenium环境管理
8.4.1 Selenium Manager
8.4.2 Docker-Selenium
第9章 App UI自动化测试设计
9.1 App移动自动化测试工具介绍
9.1.1 Android测试工具
9.1.2 iOS测试工具
9.1.3 Appium
9.1.4 Airtest Project
9.1.5 Open ATX
9.2 Appium基础
9.2.1 Appium的安装
9.2.2 Appium的使用
9.3 Appium API封装
9.3.1 Switch类
9.3.2 Action类
9.3.3 FindByText类
9.3.4 KeyEvent类
9.4 Appium图像与文字识别
9.4.1 images件
9.4.2 Appium OCR 件
第10章 HTTP接口自动化测试设计
10.1 HTTP客户端库
10.1.1 requests
10.1.2 HTTPX
10.1.3 aiohttp
10.2 HTTP请求方法集成日志
10.3 HTTP接口测试断言设计
10.3.1 断言基础代码
10.3.2 assertPath()
10.3.3 assertJSON()
10.3.4 assertSchema()
10.4 实用功能封装
10.4.1 HTTP接口检查装饰器
10.4.2 方法依赖装饰器
10.4.3 生成curl命令
10.5 WebSocket封装与测试
10.5.1 WebSocket封装
10.5.2 WebSocket测试
第11章 自动化测试设计模式
11.1 设计模式与开发策略
11.1.1 Page Object模式
11.1.2 Bot模式
11.2 基于Page Object模式的相关库
11.2.1 selenium-page-factory
11.2.2 poium的基本使用
11.2.3 poium的设计原理
11.3 API Object模式
11.3.1 AOM的设计原理
11.3.2 AOM使用示例
第12章 自动化测试平台化
12.1 自动化测试平台化的基本信息
12.1.1 性能测试
12.1.2 HTTP接口自动化测试
12.1.3 Web UI自动化测试
12.1.4 App UI自动化测试
12.1.5 自动化测试平台化的缺点
12.2 测试框架与测试平台的整合方案
12.2.1 unittest解析用例
12.2.2 对测试用例的收集与运行
12.3 SeldomQA项目
12.3.1 Seldom框架
12.3.2 seldom-platform
第13章 自动化测试的AI探索
13.1 集成AI技术的自动化测试平台
13.1.1 基于视觉AI技术的自动化检测
13.1.2 基于AI的自动化测试运行
13.2 AIGC在自动化测试中的应用
13.2.1 AI技术辅助生成自动化测试用例
13.2.2 基于LLM的代理框架
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...