pytest
pytest
01-测试框架
测试框架: 抽象出来的工具集合,提供大量组件、工具、功能。
测试框架的主要功能:
- 用例发现
- 用例管理
- 环境管理
- 用例执行
- 测试报告
大部分编程语言, 都有测试框架
- java: junit, testng
- python: unittest, pytest

02-快速上手
安装
pip install pytest # 安装
pip install pytest -u # 升级到最新版
启动
pytest 有三种启动方式
-
命令 在 pycharm终端中 输入 pytest
-
代码
import pytest pytest.main() -
鼠标【不推荐】

是由 pycharm 提供的,不是pytest
行为和前两种方式不一致,需要执行脚本的绝对路径

鼓励
03-看懂结果




04-用例规则


05-配置框架

环境遍历 写错了, 环境变量

06-标记mark

注册 (框架配置),在pytest.ini 中配置

检验是否注册成功, 可以在终端输入pytest --markers 查看

标记: 在相关的测试函数上加上对应的装饰器

筛选,
启动 pytest 时,使用 -m 筛选指定 mark 的用例, 例如:




使用 skipif 需要添加 reason 参数




07-数据驱动测试参数

数据文件

注册 ddt 测试


从参数文件中提取数据

在参数装饰器中传递数据, 如下图



08-夹具fixture





自动使用, 所有的用例都会使用当前fixture 装饰器参数 autouse=True

依赖使用, fixture 可以使用 fixture


返回内容
pytest 中的 yield 只能返回一个参数,



范围共享 fixture, fixture 装饰器中加 scope 参数


如果想要所有的测试用例(不同的py 文件中)都共享同一个fixture, 需要创建一个 conftest.py, 把 fixture 放入其中, 就可以了

09-插件管理


10-常用的第三方插件
pytest 有 1000 多个插件, 具体使用可以参考官方文档: https://pytest.org/en/8.0.x/reference/plugin_list.html

1-pytest-html

插件的使用,可以在终端输入时加特定的参数, 也可以在 配置文件中添加


2-pytest-xdist

3-pytest-rerunfailures

4-pytest-result-log

在pytest.ini 配置文件写一些日志相关的 配置信息

日志的形式如下图所示

11-企业级测试报告


默认只生成测试报告的原始文件,需要 使用 allure generate -o 生成测试报告目录 -c 原始文件目录
可以使用 os.system 自动调用

生成的测试报告样式





12-web 自动化测试实战



也可以自己导入 selenium ,使用 fixture 实现

13-测试框架的封装

14-YAML 文件格式

上图 变成 语言 写错, 编程语言




15-接口测试用例

-
yaml 表示用例
![image-20260925190907376]()
16-封装接口自动化框架





从 response 中提取数据 进行断言







脚本整合,结构化测试流程,从 yaml 中提取数据,传递给相关的函数,执行相关的测试
总体就是一个功能/函数的实现, 通过传递不同的 yaml 的参数 实现不同的测试。



使用 logging 模块 实现指定 日志的记录




浙公网安备 33010602011771号