Python 编程语言与 Pytest 测试框架¶
课程描述¶
通过本课程的学习,学习者能熟练编写 Python 代码,实现常见的数据处理与算法逻辑,独立完成 Pytest 测试用例的编写,掌握 Allure 报告工具的使用,提升测试报告的质量和可读性,具备自动化测试与质量保证的实际操作能力。
课程收益¶
通过此次课程培训,可使学习者获得如下收益:
- 熟悉 Python 语法与数据结构。
- 掌握 Python 面向对象编程。
- 掌握常用的内置库和第三方库。
- 熟悉 Pytest 框架与常用操作。
- 掌握 Pytest 安装与配置。
- 熟悉 Pytest 用例编写。
- 掌握 Pytest 参数化与调度执行。
- 掌握 Pytest 生命周期与数据驱动。
- 了解 Pytest 第三方插件与 Hook 函数。
- 学会 Allure 安装和 Allure 运行方式。
- 掌握 Allure2 添加用例分类、用例描述、用例失败截图、用例日志等。
授课形式¶
- 课堂讲授
- 讲义解析
- 测试情景模拟
- 项目实战
讲师介绍¶
Python 编程语言-L1¶
教学目标¶
- 熟悉 Python 基本操作
- 掌握 Python 基本数据类型
- 掌握 Python 控制流
- 掌握 Python 常用数据结构
- 掌握 Python 面向数据对象的应用
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Python 环境安装 | windows、 mac 安装方式 |
知识点 | PyCharm 环境安装与配置 | 安装、基本使用、配置方法 |
知识点 | Python 基本操作 | 缩进与空格、注释、打印、大小写、PEP8 规范 |
知识点 | Python 基本数据类型 | 变量的定义、Python 基本的数据类型介绍 (整数、浮点数、布尔、字符串(切片、索引)) |
知识点 | Python 字符串基本操作 | format,字面量插值、join、split、replace、strip |
知识点 | Python 的运算符 | 算数运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符 |
知识点 | Python 控制流-判断 | 条件表达式 if、elif、else |
知识点 | Python 控制流-循环 | 流程控制:while 循环 for 循环 关键字 continue,break,pass |
知识点 | Python 常用数据结构-列表 | 列表的的定义与使用、索引和切片、列表推导式 |
知识点 | Python 常用数据结构-元组 | 元组的定义与使用、常用 api、元组与列表的区别 |
知识点 | Python 常用数据结构-集合 | 集合的定义与使用、常用 api |
知识点 | Python 常用数据结构-字典 | 字典常用方法:get、pop、update、字典推导式 |
知识点 | Python 函数 | 函数定义与调用、函数返回值、默认参数 关键字传参 |
知识点 | Python 函数进阶与参数处理 | 不定长参数 args、kwargs 的用法 |
知识点 | Python lambda 表达式 | lambda 表达式语法、使用场景 |
知识点 | Python 面向对象概念 | 面向对象 OOP,类,对象的概念 |
知识点 | Python 类与对象 | class 关键字,类属性、实例属性、构造方法、实例方法、类方法、静态方法 |
Python 编程语言-L2¶
教学目标¶
- 熟悉 Python 封装、继承、多态
- 掌握 Python 模块与包
- 掌握 Python 调试与分析方法
- 掌握 Python 装饰器的的应用
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Python 封装与 property 装饰器 | 私有属性,_ 和__ 前缀,计算属性@property |
知识点 | Python 继承与类型检查 | 语法,作用,多继承,类型检查 |
知识点 | Python 多态与 super | 运算符多态,方法重写,super() |
知识点 | Python 模块与包 | 项目目录结构、模块定义、文件引用 import、相对路径与绝对路径 |
知识点 | 错误与异常 | 异常类型、异常捕获 try-catch、finally 使用、raise 使用 |
知识点 | Debug 调试与分析 | debug 调试分析、堆栈分析 |
知识点 | Python 类型注解 | 参数与返回值的类型声明 |
知识点 | Python 数据类 dataclass | 语法,使用场景 |
知识点 | Python 内置装饰器 | @classmethod、@staticmethod |
知识点 | Python 装饰器 | 语法,使用场景 |
Python 编程语言-L3¶
教学目标¶
- 掌握常用的内置库
- 掌握常用的第三方库
- 掌握 Python 的环境管理
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | 内置库 os | 常用 api:mkdir()、rename()、remove() |
知识点 | 内置库 sys | 命令行 |
知识点 | 内置库 文件处理 | with open、读写操作 |
知识点 | 内置库 科学计算 | math 模块常用 api |
知识点 | 内置库 日期与时间处理 | datetime 常用 api |
知识点 | 内置库 json | json.loads()、json.dumps()、 indent 缩进、编码 |
知识点 | 内置库 正则表达式 re | 正则表达式语法、re.match、findall、compile |
知识点 | 内置库 多线程 threding | 多线程 |
知识点 | 内置库 Python logging | 日志打印配置和使用 |
知识点 | 内置库 Python logging 高级使用 | 日志打印配置和使用 |
知识点 | venv 环境管理 | venv |
知识点 | pip 环境管理 | pip、requirements |
知识点 | 常用第三方库 yaml | yaml 文件格式规范、yaml 常用 api |
知识点 | 常用第三方库 pymysql | 数据库的连接、CRUD 等操作 |
知识点 | 常用第三方库 urllib3 | url 解析、解码、编码 |
Pytest 测试框架-L1¶
教学目标¶
- 熟悉 Pytest 框架与常用操作
- 掌握 Pytest 安装与配置
- 掌握 Pytest 编写自动化测试用例规则
- 掌握 Pytest 编写用例的结构与断言
- 掌握 Pytest 自动测试实战能力
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Pytest 简介、安装与准备 | Pytest 简介、Pytest 环境安装,运行第一个测试脚本 |
知识点 | Pytest 命名规则 | 模块命名、类命名、方法命名 |
知识点 | pycharm 配置与界面化运行 | 配置与界面化运行 |
知识点 | Pytest 测试用例结构 | 测试用例名字、步骤、断言 |
知识点 | Pytest 测试用例断言 | 常用断言类型 assert |
知识点 | Pytest 测试框架结构 | 模块级、函数级、类级、方法级、测试用例之间的顺序 |
Pytest 测试框架-L2¶
教学目标¶
- 熟悉 Pytest 参数化与基本装饰器用法
- 掌握 Pytest 测试用例调度与运行
- 掌握 Pytest 命令行执行与命令行常用参数
- 掌握 Pytest 异常处理
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Pytest 参数化用例 | 单参数、多参数、用例重命名 |
知识点 | Pytest 标记测试用例 | 添加用例标签 |
知识点 | Pytest 设置跳过、预期失败用例 | 用例跳过、skip、skipif、xfail |
知识点 | Pytest 运行用例 | 运行多条用例/文件/包、运行指定测试用例、执行结果分析 |
知识点 | Pytest 测试用例调度与运行 | 测试用例的收集、选取与运行 |
知识点 | Pytest 命令行常用参数 | 常用参数说明 |
知识点 | Python 执行 Pytest | 利用 Python 代码执行 Pytest 用例 |
知识点 | Pytest 异常处理 | assert,python try...except,异常断言 |
Pytest 测试框架-L3¶
教学目标¶
- 熟悉 Pytest 结合数据驱动用法
- 掌握 Pytest 测试用例生命周期管理
- 掌握 Pytest fixture 实现参数化
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Pytest 结合数据驱动-yaml | 利用外部数据源 YAML 管理测试 |
知识点 | Pytest 结合数据驱动-excel | 利用外部数据源 EXCEL 管理测试 |
知识点 | Pytest 结合数据驱动-csv | 利用外部数据源 CSV 管理测试 |
知识点 | Pytest 结合数据驱动-json | 利用外部数据源 JSON 管理测试 |
知识点 | Pytest 测试用例生命周期管理(一) | fixture 作为参数使用 |
知识点 | Pytest 测试用例生命周期管理(二) | fixture 作用范围 |
知识点 | Pytest 测试用例生命周期管理(三) | yield 用法 |
知识点 | Pytest 测试用例生命周期管理-自动注册 | conftest.py 配置文件的使用 |
知识点 | Pytest 测试用例生命周期管理-自动生效 | autouse 参数的用法 |
知识点 | Pytest fixture 实现参数化 | 通过 fixture 实现参数化 |
Pytest 测试框架-L4¶
教学目标¶
- 熟悉 Pytest 配置文件
- 掌握 Pytest 第三方插件
- 掌握 Pytest hook 函数以及插件开发
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Pytest 配置文件【进阶】 | Pytest.ini 配置文件、添加默认参数 |
知识点 | Pytest 插件 【进阶】 | Pytest 插件的种类 |
知识点 | Pytest 测试用例执行顺序自定义 Pytest-ordering【进阶】 | Pytest-ordering |
知识点 | Pytest 测试用例并行运行与分布式运行【进阶】 | Pytest-xdist |
知识点 | Pytest 内置插件 hook 体系【进阶】 | 内置插件(hook 函数) |
知识点 | Pytest 插件开发【进阶】 | Pytest 插件开发、参数详解、打包发布 |
Allure2 测试报告-L1¶
教学目标¶
- 掌握 Allure 安装
- 掌握 Allure 运行方式
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Allure2 安装 | Allure2 与相关依赖安装 |
知识点 | Allure2 运行方式 | Allure2 运行方式 |
Allure2 测试报告-L2¶
教学目标¶
- 掌握 Allure2 添加用例分类、用例描述的能力
- 掌握测试报告定制能力
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Allure2 报告生成 | Allure2 生成测试报告 |
知识点 | Allure2 报告中添加用例标题 | 测试报告添加用例的标题 |
知识点 | Allure2 报告中添加用例步骤 | 添加测试测试步骤,通过调用方法实现、通过装饰器实现,以及结合参数化 |
知识点 | Allure2 报告中添加用例链接 | 测试报告添加超链接 |
知识点 | Allure2 报告中添加用例分类 | 添加测试类别划分 |
知识点 | Allure2 报告中添加用例描述 | 测试报告添加用例的描述 |
知识点 | Allure2 报告中添加用例优先级 | 测试报告添加用例的优先级 |
知识点 | Allure2 报告中添加用例支持 tags 标签 | 测试报告中添加用例支持 tags 标签,例如 xfail、skipif 等 |
知识点 | Allure2 报告中支持记录失败重试功能 | 测试报告中支持第三方插件 reruns=num 参数,并记录用例失败的次数以及原因 |
Allure2 测试报告-L3¶
教学目标¶
- 掌握 Allure2 添加用例失败截图、用例日志、html 块、视频的能力
- 掌握测试报告定制能力
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Allure2 报告中添加附件-图片 | 测试报告添加截图 |
知识点 | Allure2 报告中添加附件-日志 | 测试报告添加日志 |
知识点 | Allure2 报告中添加附件-html | 测试报告添加 html 块 |
知识点 | Allure2 报告中添加附件-视频 | 测试报告添加视频 |
Allure2 测试报告-L4¶
教学目标¶
- 掌握测试报告定制能力
知识点¶
形式 | 章节 | 描述 |
---|---|---|
知识点 | Allure2 报告定制 | 定制测试报告 Logo,样式等 |