Files
ai_wht_B/测试整体后端接口性能_说明.md
“shengyudong” 5a384b694e 2026-1-6
2026-01-06 14:18:39 +08:00

7.0 KiB
Raw Permalink Blame History

整体后端接口性能测试工具说明

概述

这是一个整合了所有后端接口测试的统一工具将原先的10个独立测试脚本合并为一个方便统一管理和执行。

整合的模块

  1. 基础接口 - 根路径、健康检查、404处理
  2. 认证接口 - 统一登录、员工登录、登出
  3. 工作台接口 - 概览、最近发布、热门产品
  4. 企业接口 - 企业列表、统计、信息、修改密码
  5. 图片接口 - 图片列表、仪表盘、标签管理
  6. 日志接口 - 操作日志、日志文件列表、文件内容
  7. 文章接口 - 文章列表、仪表盘、详情
  8. 员工接口 - 员工列表、统计
  9. 作者接口 - 作者列表、科室列表、搜索
  10. 搜索服务接口 - 独立搜索服务(需单独启动)

配置说明

基础配置

在脚本顶部可配置:

# 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

自定义配置

  1. 只测试特定模块

    修改 TEST_MODULES 字典,将不需要测试的模块设为 False

  2. 修改服务地址

    修改 API_BASE_URLSEARCH_API_BASE_URL

  3. 修改登录账号

    修改 USERNAMEPASSWORD

输出结果

测试完成后会生成两个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 文档记录

联系支持

如有问题或建议,请联系开发团队。