一、引言
一个完整的自动化测试框架,我们可以结合 pytest
、Allure
、loguru
、yaml
等工具来完成。这个框架不仅包含了请求和数据库连接的封装,还支持丰富的日志记录、Allure 报告生成和 YAML 配置文件管理。下面展示如何搭建这样一个框架,以及如何编写测试用例、配置文件和进行各种场景的测试。
二、框架搭建流程
1. 安装条件
首先,我们需要安装相关的依赖包。以下是必要的 Python 库及工具:
必要依赖:
pip install pytest # Pytest 测试框架
pip install allure-pytest # Pytest 与 Allure 集成
pip install loguru # 日志工具
pip install pyyaml # 读取 YAML 配置文件
pip install requests # 请求封装
pip install pymysql # MySQL 数据库连接
Allure 安装:
1安装 Allure 命令行工具:
1.1MacOS / Linux:
brew install allure
1.2Windows:
请参考 Allure 官方文档 安装 Windows 版本的 Allure。
2查看是否安装成功
allure --version
2.项目框架结构
test_framework/
├── tests/ # 测试用例
│ ├── test_example.py # 示例测试用例
│ ├── test_api.py # API 测试用例
│ └── test_database.py # 数据库测试用例
│
├── utils/ # 工具类
│ ├── request_utils.py # 请求封装工具类
│ └── db_utils.py # 数据库连接工具类
│
├── config/ # 配置文件
│ ├── test_config.yaml # 测试配置文件
│
├── logs/ # 日志文件
│
├── pytest.ini # pytest 配置文件
└── conftest.py # 全局配置
3核心代码
3.1 request_utils.py
—— 请求封装
使用 requests
封装常见的 HTTP 请求方法:
request_utils.py
主要封装了 HTTP 请求,支持 GET、POST 请求,并通过日志记录请求和响应。
# utils/request_utils.py
import requests
from loguru import logger
class HttpRequest:
def __init__(self):
self.session = requests.Session() # 使用 Session 以便复用连接
self.session.headers.update({
'Content-Type': 'application/json',
})
def send(self, method, url, **kwargs):
try:
response = self.session.request(method, url, **kwargs)
response.raise_for_statu
标签:log,配置文件,Allure,代码,py,allure,install,pip,utils
From: https://blog.csdn.net/weixin_48027312/article/details/143915491