Files
ai_wht_B/查看图片测试结果.py
“shengyudong” 5a384b694e 2026-1-6
2026-01-06 14:18:39 +08:00

52 lines
2.0 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import csv
from datetime import datetime
today = datetime.now().strftime('%Y%m%d')
filename = f'图片接口性能测试_{today}.csv'
print("="*100)
print("图片管理接口性能测试结果")
print("="*100)
try:
with open(filename, 'r', encoding='utf-8-sig') as f:
reader = csv.DictReader(f)
rows = list(reader)
print(f"\n{'接口':<60} {'方法':<8} {'状态码':<10} {'耗时(ms)':<12} {'成功':<8}")
print("-"*100)
for row in rows:
endpoint = row['endpoint'][:58]
method = row['method']
status = row['status_code']
time_ms = row['elapsed_time_ms']
success = '' if row['success'] == 'True' else ''
print(f"{endpoint:<60} {method:<8} {status:<10} {time_ms:<12} {success:<8}")
print("-"*100)
# 统计
times = [float(r['elapsed_time_ms']) for r in rows if r['elapsed_time_ms'] != '0']
if times:
print(f"\n平均耗时: {sum(times)/len(times):.2f}ms")
print(f"最大耗时: {max(times):.2f}ms")
print(f"最小耗时: {min(times):.2f}ms")
success_count = sum(1 for r in rows if r['success'] == 'True')
success_rate = success_count / len(rows) * 100 if rows else 0
print(f"\n成功率: {success_rate:.1f}%")
if success_rate == 100:
print("服务健康: ✓ 所有接口正常运行")
elif success_rate >= 80:
print("服务健康: ⚠ 大部分接口正常,部分接口异常")
elif success_rate > 0:
print("服务健康: ⚠ 部分接口异常,需要检查权限配置")
else:
print("服务健康: ✗ 所有接口异常可能是企业ID获取失败")
except FileNotFoundError:
print(f"\n✗ 未找到文件: {filename}")
print("请先运行: python 测试图片接口性能.py")