7.0 KiB
7.0 KiB
整体后端接口性能测试工具说明
概述
这是一个整合了所有后端接口测试的统一工具,将原先的10个独立测试脚本合并为一个,方便统一管理和执行。
整合的模块
- 基础接口 - 根路径、健康检查、404处理
- 认证接口 - 统一登录、员工登录、登出
- 工作台接口 - 概览、最近发布、热门产品
- 企业接口 - 企业列表、统计、信息、修改密码
- 图片接口 - 图片列表、仪表盘、标签管理
- 日志接口 - 操作日志、日志文件列表、文件内容
- 文章接口 - 文章列表、仪表盘、详情
- 员工接口 - 员工列表、统计
- 作者接口 - 作者列表、科室列表、搜索
- 搜索服务接口 - 独立搜索服务(需单独启动)
配置说明
基础配置
在脚本顶部可配置:
# API配置
API_BASE_URL = "http://127.0.0.1:8216" # 主服务地址
SEARCH_API_BASE_URL = "http://127.0.0.1:8321" # 搜索服务地址
USERNAME = "13621242430" # 登录用户名
PASSWORD = "admin123" # 登录密码
模块开关配置
可以根据需要开启或关闭特定模块的测试:
TEST_MODULES = {
'basic': True, # 基础接口
'auth': True, # 认证接口
'dashboard': True, # 工作台
'enterprise': True, # 企业
'image': True, # 图片
'log': True, # 日志
'article': True, # 文章
'employee': True, # 员工
'author': True, # 作者
'search': False, # 搜索服务(默认关闭)
}
使用方法
基本使用
# 直接运行
python 测试整体后端接口性能.py
自定义配置
-
只测试特定模块
修改
TEST_MODULES字典,将不需要测试的模块设为False -
修改服务地址
修改
API_BASE_URL和SEARCH_API_BASE_URL -
修改登录账号
修改
USERNAME和PASSWORD
输出结果
测试完成后会生成两个CSV文件:
-
性能测试结果文件
- 文件名格式:
整体后端接口性能测试_YYYYMMDD_HHMMSS.csv - 包含字段:
- module: 所属模块
- endpoint: 接口路径
- method: HTTP方法
- status_code: 状态码
- elapsed_time_ms: 耗时(毫秒)
- success: 是否成功
- error: 错误信息
- 文件名格式:
-
接口文档文件
- 文件名格式:
整体后端接口文档_YYYYMMDD_HHMMSS.csv - 包含字段:
- module: 所属模块
- endpoint: 接口路径
- method: HTTP方法
- description: 接口描述
- auth: 是否需要认证
- 文件名格式:
控制台输出
测试过程中会显示:
- 测试配置 - 显示启用/禁用的模块
- 登录信息 - 登录结果和耗时
- 各模块测试进度 - 实时显示每个接口的测试状态
- 整体测试摘要 - 总体统计信息
- 各模块统计 - 按模块分组的统计信息
示例输出:
================================================================================
整合后端接口性能测试工具
测试时间: 2024-12-29 15:30:00
主服务地址: http://127.0.0.1:8216
搜索服务地址: http://127.0.0.1:8321
================================================================================
测试配置:
--------------------------------------------------------------------------------
启用的模块 (9个): basic, auth, dashboard, enterprise, image, log, article, employee, author
禁用的模块 (1个): search
--------------------------------------------------------------------------------
================================================================================
正在登录...
✓ 登录成功,耗时: 156.23ms
================================================================================
[1/10] 基础接口测试
================================================================================
...
================================================================================
整体测试摘要
================================================================================
总测试数: 45
成功: 42 (93.3%)
失败: 3 (6.7%)
平均耗时: 45.67ms
最大耗时: 234.56ms
最小耗时: 12.34ms
================================================================================
各模块统计:
--------------------------------------------------------------------------------
基础接口 | 测试: 7 | 成功: 7 | 成功率: 100.0% | 平均耗时: 23.45ms
认证接口 | 测试: 3 | 成功: 3 | 成功率: 100.0% | 平均耗时: 156.78ms
工作台 | 测试: 5 | 成功: 5 | 成功率: 100.0% | 平均耗时: 34.56ms
...
--------------------------------------------------------------------------------
✓ 性能测试结果已保存到: 整体后端接口性能测试_20241229_153000.csv
✓ 接口文档已保存到: 整体后端接口文档_20241229_153000.csv
✓ 测试完成!
- 性能数据: 整体后端接口性能测试_20241229_153000.csv
- 接口文档: 整体后端接口文档_20241229_153000.csv
优势
相比原先的10个独立脚本,整合后的优势:
- 统一管理 - 一个脚本管理所有接口测试
- 配置灵活 - 可以快速开启/关闭特定模块
- 结果集中 - 所有测试结果汇总到一个文件
- 统计完善 - 提供整体和分模块的详细统计
- 易于维护 - 修改配置和代码更方便
- 执行高效 - 避免重复登录,一次性完成所有测试
注意事项
- 搜索服务 - 搜索服务模块默认关闭,因为它需要单独启动(端口8321)
- 登录账号 - 确保使用的账号有足够的权限访问所有接口
- 网络环境 - 确保能访问配置的服务地址
- 超时设置 - 所有请求默认30秒超时,如需调整可修改
timeout=30参数
与原脚本的对应关系
| 整合脚本模块 | 原始脚本文件 |
|---|---|
| basic | 测试基础接口性能.py |
| auth | 测试认证接口性能.py |
| dashboard | 测试工作台接口性能.py |
| enterprise | 测试企业接口性能.py |
| image | 测试图片接口性能.py |
| log | 测试日志接口性能.py |
| article | 测试文章接口性能.py |
| employee | 测试员工接口性能.py |
| author | 测试作者接口性能.py |
| search | 测试搜索服务接口性能.py |
故障排查
登录失败
- 检查用户名和密码是否正确
- 检查服务是否正常运行
- 检查网络连接
某些接口失败
- 查看错误信息了解具体原因
- 检查账号权限
- 检查数据库连接
- 检查企业ID绑定(图片、文章等接口需要)
搜索服务无法连接
- 确认搜索服务已启动(flask_wht_server_search.py)
- 确认端口8321未被占用
- 将
TEST_MODULES['search']设为True
扩展建议
如需添加新的测试模块:
- 在
TEST_MODULES中添加新模块开关 - 创建对应的
test_xxx_apis(token)函数 - 在
main()函数中调用新函数 - 添加对应的 API 文档记录
联系支持
如有问题或建议,请联系开发团队。