关于 ui-test-testcafe
面向使用 TestCafe 或需要 TestCafe 测试方案的项目,指导规划并生成 UI 测试。重点是兼容现有运行器、隔离测试会话,并验证业务状态。
主要功能
- 01面向 TestCafe 的测试规划
- 02运行器兼容性检查
- 03隔离会话与测试数据
- 04业务状态断言
- 05CI 失败状态传递
适用场景
- 01为现有 TestCafe 项目规划 UI 测试
- 02隔离测试账户与会话
- 03确保测试失败会使 CI 失败
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ naodeng/ awesome-qa-skills --skill ui-test-testcafe安装后在 Claude Code 中输入/ui-test-testcafe确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdagents/openai.yamlevals/eval.yamlevals/cases/basic-success.yamldomain-method-regression.yamledge-incomplete-input.yamledge-scope-boundary.yamlevals/fixtures/check_domain_decisions.pycheck-domain-decisions.shdomain-oracle.jsonevals/fixtures/checkout-app/checkout.test.jsindex.htmlREADME.mdreceipt.htmlserver.mjsexamples/sample-context.mdoutput-templates/template-markdown.mdprompts/ui-test-testcafe.mdreferences/domain-decision-example.mdframework-spec.mdsetup-and-ci.mdscripts/run-tests.sh详细介绍
TestCafe UI 测试(EN)
中文版: 请参阅对应的中文技能。
适用场景
- 需要生成适用于 TestCafe UI 测试工作流的输出。
- 项目已使用 TestCafe,或希望采用适用于 TestCafe 的规划。
输出格式选项
默认使用 Markdown,除非请求明确指定其他格式。
使用方法
- 打开
prompts/ui-test-testcafe.md,并将其用作主提示词。 - 补充实际项目背景:范围、环境、约束、风险、依赖项和预期交付物。
- 如果输入不完整,请返回可用的初版,并标明缺失信息和假设。
参考文件
-
校准领域结果、有效控件或证据缺口时,请阅读 references/domain-decision-example.md,了解经过脱敏的输入、逐项判定规则和可复现的计算。
-
prompts/ui-test-testcafe.md:本技能的主提示词。 -
references/framework-spec.md:特定工具的结构和覆盖范围说明。 -
references/setup-and-ci.md:设置、执行和 CI 说明。 -
examples/sample-context.md:请求背景示例。 -
scripts/run-tests.sh:轻量级本地执行入口。
领域执行要点
- 确认 TestCafe、Node、浏览器、原生自动化模式、CI 和报告器版本。生成与现有运行器兼容的 fixtures、测试和配置;缺少配置时应视为尚未确定,而非默认升级。
- 使用 Roles 或独立身份初始化隔离会话,并同时隔离账户和业务标识。等待异步 t 操作,并使用受支持的 Selector/断言等待,而非固定休眠。
- 验证付费状态、金额和本金。边界桩不得绕过真实 UI;标题正常不代表成功。负向控件必须无法通过业务断言。
- CLI 返回非零状态,或程序化检查发现 failedCount>0 时,CI 必须失败。报告器不得吞掉失败;保留截图、控制台信息、测试 ID,并执行清理。配置可解析不等于已实际执行。
常见问题
- 范围含糊且没有背景信息时,不要使用本技能。
- 不要将所有区域视为同等重要。
- 不要省略假设和缺失信息。
最佳实践
-
从提示词文件开始,然后只补充相关背景信息。
-
确保输出以风险为导向且可执行。
-
如果请求不完整,请返回可用的初版并标明缺口。
-
要验证生成的业务断言、失败传递或隔离,请阅读 evals/fixtures/checkout-app/README.md 及其本地 good/bug/timeout 控件;仅在请求执行时才运行。
评论
支持 Markdown