mcpField
P
polling-test-results

polling-test-results

github.com/forcedotcom测试与质量1.1k264 次安装1 天前更新
代码仓库

关于 polling-test-results

用于跟踪 DevOps Center 异步测试执行状态,直到完成、超时或失败。它按测试类型调整轮询间隔和等待上限,并将完成结果交给故障分析技能。

主要功能

  1. 01按运行 ID 轮询执行状态
  2. 02按测试类型调整轮询
  3. 03处理完成、失败和超时
  4. 04传递结果以进行故障分析

适用场景

  1. 01监控新启动的测试运行
  2. 02检查长时间运行的测试是否完成

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill polling-test-results

安装后在 Claude Code 中输入/polling-test-results确认已加载。

详细介绍

polling-test-results

需要确认: 否——轮询会自动进行,且为只读操作。无需用户确认。

功能: 轮询 DevOps Center 组织中异步测试执行的状态,直到执行完成、超时或失败。


前提条件

你需要一个有效的 runId(由 running-devops-test-suite 技能返回)和已确认的 doce-org-alias。如果尚未确定组织上下文,请先加载 checking-devops-prerequisites(前提条件 1–3)。


所需输入

输入来源
runId由 running-devops-test-suite 技能返回
testType根据测试套件的测试提供方确定(Apex、Code Analyzer、UI/Provar、Flow)
doce-org-alias通过 checking-devops-prerequisites 确定

轮询配置

测试类型轮询间隔最长等待时间超时操作
Apex 单元测试15 秒5 分钟显示 runId,并提供重试选项
Code Analyzer10 秒3 分钟显示 runId,并提供重试选项
UI 测试(Provar)60 秒20 分钟显示 runId,并标记为待处理
Flow 测试20 秒8 分钟显示 runId,并提供重试选项

轮询查询

每个间隔按 runId 查询执行记录:

sf data query \
  --query "SELECT Id, Status, TestsRan, TestsPassed, TestsFailed, CoveragePercentage FROM DevopsTestExecution WHERE Id = '<runId>' LIMIT 1" \
  --target-org <doce-org-alias> \
  --json

每次轮询时检查 Status 字段:

  • Queued / Running → 等待后再次轮询
  • Completed → 继续分析结果
  • Failed → 显示错误,并提供重试或跳过选项

超时时

向用户显示 runId:

“测试运行耗时超出预期。你的运行 ID 是 <runId>。你可以在 DevOps Center 中手动查看状态,也可以让我继续等待——你更希望怎么做?”

超时后不要自动重试。等待用户指示。

完成时

将完整结果载荷传递给 analyzing-test-failures 技能进行分析。直接显示 Coverage、SuccessCount、FailureCount 和 QualityGateStatus。不要向用户显示原始 JSON。


相关技能

  • 由 running-devops-test-suite 启动运行(包括其重新触发模式)
  • 由 analyzing-test-failures 处理失败分析

评论

支持 Markdown