调试 Scout 测试运行
本页列出了在本地和 CI 中调试 Scout 测试的最快方法。
- 如果您的测试使用了
logfixture,消息会打印在本地控制台输出中。 - 如需更详细的输出,请设置
SCOUT_LOG_LEVEL=debug。
运行结束后,Playwright 会生成一份 HTML 报告。控制台输出中包含报告路径。要打开最新报告
node scripts/playwright show-report <plugin-path>/test/scout/ui/output/reports
CI 运行:在 Buildkite 中,Playwright HTML 报告通常位于作业的 制品 (Artifacts) 下。
UI 模式 允许您以交互方式运行和调试测试。
node scripts/playwright test \
--config <plugin-path>/test/scout/ui/playwright.config.ts \
--project local \
--ui \
--grep @<location>-<arch>-<domain>
--grep 的值应与您使用的套件标签匹配。请参阅 部署标签 (Deployment tags)。
当您添加新测试、修复不稳定情况或进行重大更改时,请多次运行相同的测试(建议运行 20–50 次)。请参阅 最佳实践。
要在本地重现不稳定情况,您可以使用 --repeatEach 标志多次运行相同的测试。
run-tests 命令支持 --repeatEach 标志,该标志会转发 Playwright 的 --repeat-each 选项。Scout 会根据 --arch 和 --domain 标志自动解析正确的 --project 和 --grep 标签。
node scripts/scout run-tests \
--arch stateful \
--domain classic \
--config src/platform/plugins/shared/dashboard/test/scout/ui/parallel.playwright.config.ts \
--repeatEach 30
该值必须为正整数。有关 run-tests 标志的完整列表,请参阅 运行测试 (Run tests)。
如果您需要更多控制权(例如,针对特定的 spec 文件),可以直接使用 --repeat-each 调用 Playwright。
Grep 是关键:务必使用与您运行的目标环境相匹配的测试标题或标签来传递 --grep,否则您可能会运行与所选 --project 不兼容的测试套件。
示例(重复单个 spec 30 次)
node scripts/playwright test dashboard_search_by_value.spec.ts \
--project mki \
--grep @cloud-serverless-search \
--config src/platform/plugins/shared/dashboard/test/scout/ui/parallel.playwright.config.ts \
--repeat-each 30
--project mki 针对 cloud serverless 运行,因此您通常需要 @cloud-serverless-<domain> grep(例如 @cloud-serverless-search)。对于本地运行(--project local),请使用 @local-... 标签。
如果您不确定 --grep 应该使用什么,请检查 test.describe(...) 代码块上的标签(请参阅 部署标签 (Deployment tags))。
有两种常见的方法可以触发不稳定测试运行器(仅限 Elasticians)
- UI:打开
https://ci-stats.kibana.dev/trigger_flaky_test_runner并按照提示操作。 - GitHub PR 评论:在您的合并请求 (pull request) 上发表评论
/flaky scoutConfig:<Playwright config path>:<number of runs>
示例
/flaky scoutConfig:src/platform/plugins/shared/dashboard/test/scout/ui/parallel.playwright.config.ts:30