44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
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")
|
|
|
|
# 按接口分类统计
|
|
list_times = [float(r['elapsed_time_ms']) for r in rows if 'list' in r['endpoint'] and float(r['elapsed_time_ms']) > 0]
|
|
stats_times = [float(r['elapsed_time_ms']) for r in rows if 'stats' in r['endpoint'] and float(r['elapsed_time_ms']) > 0]
|
|
|
|
if list_times:
|
|
print(f"\n员工列表接口平均耗时: {sum(list_times)/len(list_times):.2f}ms")
|
|
if stats_times:
|
|
print(f"员工统计接口平均耗时: {sum(stats_times)/len(stats_times):.2f}ms")
|