Skip to main content

playwright-result-report

从已有 Playwright 执行产物生成生产级 Markdown 测试报告。用于解析交付目录中的 playwright/results.json、test-results、spec 和 ui-dsl YAML,并把 Playwright 失败关联回 DSL flow、step、source_ts、selector、截图、trace 和 video;不执行测试,不生成 spec,不修改 DSL/spec 文件。

설치로 이동

소스 정보

저장소
Fhui/AI-TEST
최근 소스 활동
2026년 5월 6일 07:28
감지된 SKILL.md 언어
중국어
스타
1
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
playwright-result-report
description
从已有 Playwright 执行产物生成生产级 Markdown 测试报告。用于解析交付目录中的 playwright/results.json、test-results、spec 和 ui-dsl YAML,并把 Playwright 失败关联回 DSL flow、step、source_ts、selector、截图、trace 和 video;不执行测试,不生成 spec,不修改 DSL/spec 文件。
# Playwright 结果报告 ## 范围 仅在以下场景使用本 skill: - 读取 `./<delivery-name>/playwright/` 下已有的 Playwright 执行结果。 - 固定读取 `./<delivery-name>/playwright/results.json`,该文件应由 Playwright JSON reporter 生成。 - 优先读取 `./<delivery-name>/ui-dsl/ui-test.enriched.dsl.yaml`,不存在时读取 `./<delivery-name>/ui-dsl/ui-test.dsl.yaml`。 - 生成 `./<delivery-name>/reports/ui-test-report.md`。 - 生成 `./<delivery-name>/reports/artifacts-index.md`。 不要执行 `npx playwright test`,不要生成 spec,不要修改 DSL,不要新增 DSL 字段,不要调用其他 skill。 ## 工作流 1. 确认项目根目录是包含 `.codex` 的目录。 2. 确认交付目录。该目录应包含 `playwright/` 或 `ui-dsl/`。 3. 执行: ```bash python3 .codex/skills/playwright-result-report/scripts/generate_report.py ./<delivery-name> ``` 4. 不要在对话中粘贴完整报告。最终只回复: ```text [✓] Playwright 测试报告生成完成 ``` ## 报告契约 脚本必须创建: - `reports/ui-test-report.md` - `reports/artifacts-index.md` `ui-test-report.md` 必须包含: - 总览:总用例数、通过数、失败数、跳过数、通过率。 - 用例执行结果表:每个 DSL flow 一行,包含 `flow_id`、用例名、状态、耗时、文件。 - 失败用例详情:包含 flow 元信息、映射后的失败 step、selector key/value/status、错误信息、裁剪后的 stack、截图、trace、video 和失败原因分类。 - selector 问题汇总:失败次数最多的 selector,以及仍为 `todo` 的 selector。 - 自动生成的建议。 `artifacts-index.md` 必须按 flow 列出: - spec - screenshot - trace - video ## 映射规则 - 优先使用 `ui-test.enriched.dsl.yaml`;不存在时回退到 `ui-test.dsl.yaml`。 - 从 `selectors[key].selector` 和 `selectors[key].status` 解析 selector。 - 固定从 `./<delivery-name>/playwright/results.json` 读取 Playwright JSON reporter 结果。 - 通过 spec 文件名、测试标题、文件路径或附近注释中的 `flow_id` 将 spec 映射回 DSL。 - `playwright-dsl-to-spec` 生成的 spec 必须在每个 step 前固定输出 `flow_id`、`step_id`、`source_ts`、`selector_key` 注释;本 skill 优先使用这些注释做失败 step 映射。 - 如果 `results.json` 不存在,仍可基于 DSL、`test-results/` 产物和 `playwright/tests/*.spec.ts` 生成降级报告,但不会读取其他 JSON 文件。 ## 失败分类 每个失败用例必须分类为以下之一: - `SELECTOR_NOT_FOUND` - `MULTIPLE_ELEMENTS` - `TIMEOUT` - `NAVIGATION_ERROR` - `ASSERTION_FAILED` - `UNRESOLVED_SELECTOR`:映射到的 selector status 为 `todo` - `UNKNOWN`
GitHub에서 보기