You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PollingConditions.within超时前提前终止测试?

实现PollingConditions触发业务规则失败时立即终止

要实现当status变为20时立即终止测试、无需等待超时,你可以在PollingConditions的检查闭包中优先判断不可逆转的失败条件,一旦触发就直接触发断言失败,让PollingConditions立刻停止重试流程。

修改后的代码示例:

def pollingConditions = new PollingConditions()
def status = 5; 
// 后台任务修改status的逻辑
pollingConditions.within(10, {
    // 先检查业务规则中的"致命失败"状态
    assert status != 20 : "Status reached 20, which can never become 10 - aborting immediately"
    // 再检查目标状态
    assert status == 10 : "Timed out waiting for status to become 10"
})

逻辑说明:

  • 每次轮询检查时,先判断status是否为20:如果是,断言直接失败,PollingConditions会立刻终止重试,不会继续等待剩余超时时间。
  • 只有当status未触发致命条件时,才会继续检查是否达到目标值10,保留正常的轮询等待逻辑。

这种方式既满足了轮询等待目标状态的需求,又能在触发业务规则中的不可逆失败时快速终止测试,避免不必要的超时等待。

内容的提问来源于stack exchange,提问作者Antoniossss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:32:02