接口自动化测试
一、前言
1.起因
2.项目要求
- 平台
- 主要要求:06接口自动化测试
- 完成
- 满足
- 达到
- 特质
- 时间
3.研制过程
3.1技术选型
Python + pytest + requests + openpyxl + allure-pytest + loguru + configparser
4.研制成果
4.1框架
2. 文件说明
| 文件路径 | 文件名称 | 功能说明 |
|---|---|---|
| case/test_excel.py | 测试执行入口 | 负责初始化测试环境、加载测试数据、执行测试用例、验证测试结果 |
| conf/config.py | 项目配置文件 | 定义项目路径、Excel文件路径、接口基地址等全局配置参数 |
| tools/read_excel.py | Excel读取工具 | 封装Excel文件读取功能,将测试数据转换为字典格式供测试使用 |
| tools/write_excel.py | Excel写入工具 | 封装Excel文件写入功能,将测试结果写入指定Excel文件 |
| tools/operate_request.py | HTTP请求工具 | 封装HTTP请求发送、响应处理、结果验证等功能 |
| tools/get_token.py | 认证信息处理工具 | 负责登录认证、Token和Cookie的获取与存储 |
| tools/operate_conf.py | 配置文件操作工具 | 提供配置文件的读取和写入功能 |
| tools/operate_json.py | JSON文件操作工具 | 提供JSON文件的读取和写入功能 |
| data/cookie.json | Cookie存储文件 | 保存登录后的Cookie信息 |
| data/token.json | Token存储文件 | 保存登录后的Token信息 |
| data/response.conf | 响应结果配置文件 | 保存接口响应结果 |
| requirements.txt | 项目依赖文件 | 记录项目所需的第三方库及其版本 |
4.2代码展示
4.3运行效果
二、项目介绍
1.测试对象
2.技术栈
# HTTP请求库
requests==2.32.4
# 配置文件解析
configparser==7.2.0
# 日志记录
loguru==0.7.3
# Excel文件处理
openpyxl==3.1.5
# 测试报告生成
allure-pytest==2.15.0
# 测试框架
pytest>=8.0.0
3.项目框架说明
文件结构
Automated_APITest_demo
├── .idea\ # IDEA项目配置文件
├── .pytest_cache\ # pytest缓存文件
├── .venv\ # Python虚拟环境
├── case\ # 测试用例目录
│ ├── __init__.py # 包初始化文件
│ ├── case_excel.xlsx # Excel测试用例文件
│ └── test_excel.py # 测试执行入口
├── conf\ # 配置文件目录
│ ├── __init__.py # 包初始化文件
│ └── config.py # 项目配置参数
├── data\ # 测试数据目录
│ ├── __init__.py # 包初始化文件
│ ├── cookie.json # Cookie存储文件
│ ├── response.conf # 响应结果配置文件
│ └── token.json # Token存储文件
├── main\ # 主程序目录
│ ├── __init__.py # 包初始化文件
│ └── main.py # 主函数入口
├── report\ # 报告存储目录
│ └── __init__.py # 包初始化文件
├── requirements.txt # 项目依赖文件
└── tools\ # 工具模块目录
├── __init__.py # 包初始化文件
├── get_excel_data.py # Excel数据获取工具
├── get_token.py # Token和Cookie处理工具
├── operate_conf.py # 配置文件操作工具
├── operate_json.py # JSON文件操作工具
├── operate_request.py # HTTP请求操作工具
├── read_excel.py # Excel文件读取工具
└── write_excel.py # Excel文件写入工具
文件说明
| 模块名称 | 核心定位 | 主要作用 |
|---|---|---|
| Python | 核心开发语言 | 提供基础语法支持与丰富库生态,作为所有模块的运行载体,支撑自动化流程开发 |
| pytest | 自动化测试执行框架 | 简化测试用例编写,支持参数化、Fixtures、用例分组,批量执行用例并自动断言结果 |
| requests | HTTP请求库 | 提供简洁的API发送HTTP请求,支持GET、POST、PUT、DELETE等方法,处理请求和响应 |
| openpyxl | Excel文件读写库 | 读取Excel中的测试用例数据,写入测试结果,支持数据驱动测试 |
| allure-pytest | 可视化测试报告生成工具 | 生成美观、详细的测试报告,展示用例状态、执行步骤、日志,支持趋势分析 |
| loguru | 轻量日志记录库 | 简化日志配置,支持控制台/文件输出、日志格式化、分级记录,便于问题定位 |
| configparser | 配置文件解析库 | 读取和写入配置文件,管理测试环境、路径等配置信息 |

实现流程
- 初始化阶段
- 读取Excel测试用例数据
- 建立测试会话,完成登录认证
- 复制测试用例Excel为结果文件
- 测试执行阶段
- 遍历测试用例
- 解析请求参数,发送HTTP请求
- 处理响应结果,进行断言检查
- 结果记录阶段
- 将测试结果写入Excel文件
- 记录日志信息