运行 {{ run_id }} ← 返回列表

{{ run.suite_name }} · {{ run.started_at[:19] if run.started_at else "" }}

{{ run.total_cases }}
总计
{{ run.passed }}
通过
{{ run.failed }}
失败
{{ run.skipped }}
跳过
{% for case in run.cases %}
{{ case.case_name }} {% if case.error %}{{ case.error }}{% endif %} {% if case.review %} {% if case.review.verdict == "pass" %} PASS复核 {% else %} FAIL复核 {% endif %} {% else %} {% if case.status == "passed" %} PASS {% else %} FAIL {% endif %} {% endif %} {{ case.passed_steps }}/{{ case.total_steps }} 步 {{ case.elapsed_ms }}ms
{% if case.case_metadata %}
{% if case.case_metadata.get("case_id") %}
用例编号{{ case.case_metadata["case_id"] }}
{% endif %} {% if case.case_metadata.get("precondition") %}
前置条件{{ case.case_metadata["precondition"] }}
{% endif %} {% if case.case_metadata.get("step_description") %}
步骤{{ case.case_metadata["step_description"] }}
{% endif %} {% if case.case_metadata.get("expected_result") %}
期望{{ case.case_metadata["expected_result"] }}
{% endif %}
{% endif %} {% for step in case.steps %} {% endfor %}
# 步骤名称 期望操作 操作参数 结果 耗时 证据 / 错误
{{ step.step_index }} {{ step.name or "-" }} 动作 {{ step.action }} {% if step.step_def %} {% if step.step_def.get("assert") %}
断言
{% for a in step.step_def.get("assert", []) %} {{ a.type }}{% if a.get("contains") %}: {{ a.contains }}{% endif %}{% if a.get("equals") %}: {{ a.equals }}{% endif %}{% if a.get("negate") %} (取反){% endif %} {% endfor %} {% endif %} {% endif %}
{% if step.step_def %} {% set ns = [] %} {% if step.step_def.get("selector") %} {% if ns.append("selector") %}{% endif %}
选择器
{% for k, v in step.step_def["selector"].items() %} {% if v is not none and v != [] %} {{ k }}={{ v }} {% endif %} {% endfor %} {% endif %} {% if step.step_def.get("value") %}
{{ step.step_def["value"] }}
{% endif %} {% if step.step_def.get("items") %}
菜单路径 {{ step.step_def["items"] | join(' → ') }}
{% endif %} {% if step.step_def.get("key") %}
按键 {{ step.step_def["key"] }}
{% endif %} {% if step.step_def.get("text") %}
文本 {{ step.step_def["text"] }}
{% endif %} {% if step.step_def.get("args") %}
参数 {{ step.step_def["args"] | join(', ') }}
{% endif %} {% if step.step_def.get("service") %}
服务 {{ step.step_def["service"] }}
{% endif %} {% if step.step_def.get("method") %}
方法 {{ step.step_def["method"] }}
{% endif %} {% if step.step_def.get("wait_after") %}
等待 {{ step.step_def["wait_after"] }}ms
{% endif %} {% else %} - {% endif %}
{% if step.status == "passed" %} {% elif step.diagnostic %} ! {% else %} {% endif %} {{ step.duration_ms }}ms {% if step.evidence %} screenshot {% endif %} {% if step.error %}
{{ step.error }}
{% endif %}
{% if case.review %}
{{ case.review.reviewer }}: {{ case.review.verdict }} · {{ case.review.comment or "" }}
{% else %}
{% endif %}
{% endfor %}
enlarged