Files
ai_wht_B/测试整体后端接口性能_说明.md

223 lines
7.0 KiB
Markdown
Raw Permalink Normal View History

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