SuperAPI AI 工具集

polling-test-results

测试与质量

查看项目

更新于 10-15 14:28

技能介绍

用途

polling-test-results 用于轮询 DevOps Center 中异步测试执行的状态,直到该执行完成、超时或失败。它通过 runId 对执行记录进行只读 SOQL 查询,属于自动轮询,无需用户确认。

主要能力

  • 按 runId 轮询 DevOps Center 组织中的异步测试执行状态。
  • 根据测试类型采用不同的轮询配置(轮询间隔、最大等待时间、超时动作)。
  • 在每次轮询时检查执行记录的 Status 字段:Queued / Running 表示继续等待并再次轮询;Completed 表示进入结果分析;Failed 表示展示错误并提供重试或跳过选项。
  • 超时后向用户展示 runId,不自动重试,等待用户指示。
  • 完成后将完整结果负载传递给 analyzing-test-failures 技能进行推理,并内联展示 Coverage、SuccessCount、FailureCount 和 QualityGateStatus,不向用户展示原始 JSON。

使用方式

前置条件

  • 需要有效的 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 Analyzer:轮询间隔 10 秒,最大等待 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:

"The test run is taking longer than expected. Your run ID is <runId>. You can check the status manually in DevOps Center, or I can keep waiting — what would you prefer?"

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

完成处理

将完整结果负载传递给 analyzing-test-failures 技能进行推理。内联展示 Coverage、SuccessCount、FailureCount 和 QualityGateStatus。不要向用户展示原始 JSON。

适用场景

  • 在 DevOps Center 中启动异步测试执行后,需要等待并获取执行结果。
  • 需要根据测试类型自动调整轮询节奏,避免频繁查询或等待过久。
  • 测试执行失败或超时后,需要向用户提供 runId 以便手动检查或决定后续操作。
  • 测试完成后,需要将结果交给失败分析技能进行进一步处理。

限制

  • 需要有效的 runId 和已确认的 doce-org-alias,否则无法执行。
  • 如果组织上下文未建立,需先加载 checking-devops-prerequisites。
  • 超时后不会自动重试,必须等待用户指示。
  • 不向用户展示原始 JSON,只展示关键指标。
  • 轮询为只读操作,不修改任何数据。

相关技能

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