Files
ai_wht_B/查看企业测试结果.py

47 lines
1.8 KiB
Python
Raw Permalink Normal View History

2026-01-06 14:18:39 +08:00
import csv
from datetime import datetime
today = datetime.now().strftime('%Y%m%d')
filename = f'企业接口性能测试_{today}.csv'
print("="*100)
print("企业接口性能测试结果")
print("="*100)
with open(filename, 'r', encoding='utf-8-sig') as f:
reader = csv.DictReader(f)
rows = list(reader)
print(f"\n{'接口':<55} {'方法':<8} {'状态码':<10} {'耗时(ms)':<12} {'成功':<8}")
print("-"*100)
for row in rows:
endpoint = row['endpoint'][:53]
method = row['method']
status = row['status_code']
time_ms = row['elapsed_time_ms']
success = '' if row['success'] == 'True' else ''
print(f"{endpoint:<55} {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")
# 按接口分类统计
get_times = [float(r['elapsed_time_ms']) for r in rows if r['method'] == 'GET' and float(r['elapsed_time_ms']) > 0]
post_times = [float(r['elapsed_time_ms']) for r in rows if r['method'] == 'POST' and float(r['elapsed_time_ms']) > 0]
put_times = [float(r['elapsed_time_ms']) for r in rows if r['method'] == 'PUT' and float(r['elapsed_time_ms']) > 0]
if get_times:
print(f"\nGET接口平均耗时: {sum(get_times)/len(get_times):.2f}ms")
if post_times:
print(f"POST接口平均耗时: {sum(post_times)/len(post_times):.2f}ms")
if put_times:
print(f"PUT接口平均耗时: {sum(put_times)/len(put_times):.2f}ms")