From 219fa1c91ea8ca0a10c671b18de939eaa3196f5f Mon Sep 17 00:00:00 2001 From: wangjie <1641540482@qq.com> Date: Tue, 8 Apr 2025 20:59:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=87=8D=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/models.py | 1 + common/settings.py | 2 ++ conftest.py | 1 + utils/report_data_handle.py | 3 ++- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/common/models.py b/common/models.py index 8919485..1661920 100644 --- a/common/models.py +++ b/common/models.py @@ -16,6 +16,7 @@ class TestMetrics: """ 用例结果数据 """ total: int passed: int + rerun: int failed: int skipped: int xfailed: int diff --git a/common/settings.py b/common/settings.py index 9ef6c6c..459241b 100644 --- a/common/settings.py +++ b/common/settings.py @@ -61,6 +61,7 @@ email_content = """ 执行结果如下:
  用例运行总数: ${total}条
  通过用例数(passed): ${passed}条
+   重试通过用例数(rerun): ${rerun}条
  失败用例数(failed): ${failed}条
  报错用例数(error): ${error}条
  跳过用例数(skipped): ${skipped}条
@@ -86,6 +87,7 @@ wechat_content = """******用例执行结果统计****** > 测试环境:%s > 总用例数:${total}条 > 通过用例数:${passed}条 + > 重试通过用例数:${rerun}条 > 失败用例数:${failed}条 > 报错用例数:${error}条 > 跳过用例数:${skipped}条 diff --git a/conftest.py b/conftest.py index b72adc8..73aae9d 100644 --- a/conftest.py +++ b/conftest.py @@ -82,6 +82,7 @@ def pytest_terminal_summary(terminalreporter, exitstatus, config): print("******用例执行结果统计******") print(f"总用例数:{pytest_result.total}条") print(f"通过:{pytest_result.passed}条") + print(f"重试后通过:{pytest_result.rerun}条") print(f"失败:{pytest_result.failed}条") print(f"跳过:{pytest_result.skipped}条") print(f"预期失败:{pytest_result.xfailed}条") diff --git a/utils/report_data_handle.py b/utils/report_data_handle.py index 10dcb74..42210b2 100644 --- a/utils/report_data_handle.py +++ b/utils/report_data_handle.py @@ -29,6 +29,7 @@ class ReportDataHandle: case_count["total"] = pytest_result['summary'].get("total", 0) # 用例总数 case_count["passed"] = pytest_result["summary"].get("passed", 0) # 通过用例数 case_count["failed"] = pytest_result["summary"].get("failed", 0) # 失败用例数 + case_count["rerun"] = pytest_result["summary"].get("rerun", 0) # 重试通过用例数 case_count["skipped"] = pytest_result["summary"].get("skipped", 0) # 跳过用例数 case_count["xfailed"] = pytest_result["summary"].get("xfailed", 0) # 预期失败用例数 case_count["xpassed"] = pytest_result["summary"].get("xpassed", 0) # 预期成功用例数 @@ -37,7 +38,7 @@ class ReportDataHandle: if case_count["total"] > 0: # 计算成功率 case_count["pass_rate"] = round( - (case_count["passed"] + case_count["xpassed"]) / case_count["total"] * 100, 2) + (case_count["passed"] + case_count["rerun"] + case_count["xpassed"]) / case_count["total"] * 100, 2) else: # 如果未运行用例,则成功率为 0.0 case_count["pass_rate"] = 0.0