# -*- coding: utf-8 -*- import json import os # 读取allure-results目录中的result.json文件 results_dir = r'C:\Users\a\PyCharmMiscProject\smart-management-auto-test\dulizhan\test_case\reports\allure-results' result_files = [f for f in os.listdir(results_dir) if f.endswith('-result.json')] test_results = [] for result_file in result_files: file_path = os.path.join(results_dir, result_file) with open(file_path, 'r', encoding='utf-8') as f: data = json.load(f) test_results.append({ 'name': data.get('name', 'Unknown'), 'status': data.get('status', 'unknown'), 'statusDetails': data.get('statusDetails', {}), 'fullName': data.get('fullName', '') }) # 统计结果 passed = [r for r in test_results if r['status'] == 'passed'] failed = [r for r in test_results if r['status'] == 'failed'] broken = [r for r in test_results if r['status'] == 'broken'] # 生成HTML报告 html_content = f""" JoyHub用户模块接口自动化测试报告

JoyHub用户模块接口自动化测试报告

{len(test_results)}
总用例数
{len(passed)}
通过
{len(failed) + len(broken)}
失败

测试用例详情

{''.join([f'''
{result['name']}
{result['status']}
''' for result in test_results])}
测试时间: {__import__('datetime').datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
""" # 保存HTML报告 report_path = r'C:\Users\a\PyCharmMiscProject\smart-management-auto-test\dulizhan\test_case\reports\test_report.html' with open(report_path, 'w', encoding='utf-8') as f: f.write(html_content) print(f"测试报告已生成: {report_path}")