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

Robot Framework:如何存储Keyword返回的布尔值且不触发测试失败

Robot Framework:避免关键字返回False时终止测试,捕获布尔值用于判断

你的问题核心是:当关键字返回False(或触发失败状态)时,Robot Framework默认会终止测试流程,而你需要把这个结果存成变量,在IF分支里做后续处理。

最直接的解决方法:用Run Keyword And Return Status包裹关键字

这个内置关键字的作用是执行目标关键字,返回布尔值表示执行结果,且不会因为目标关键字失败而终止测试:

  • 目标关键字执行成功 → 返回True
  • 目标关键字执行失败 → 返回False

修改你的脚本如下:

*** Task ***
${BooleanValue} =    Run Keyword And Return Status    你的关键字名称

IF    ${BooleanValue} == ${False}
    # 这里写你要执行的分支逻辑
    Log    关键字执行结果为False,进入处理流程
END

两种场景的补充处理

场景1:你的自定义关键字本身就是返回布尔值

如果你的关键字是自行编写的,内部没有断言或Fail语句,只是返回True/False,但测试仍会终止,大概率是你在关键字里用了类似Should Be True这类断言关键字。此时需要修改关键字实现,改成直接返回布尔值:

*** Keywords ***
自定义判断关键字
    # 替换原有的断言逻辑,直接计算布尔值返回
    ${判断结果}=    Evaluate    ${待检查值} == 预期值
    [Return]    ${判断结果}

场景2:需要同时捕获关键字的返回值和执行状态

如果你不仅要知道成功/失败,还要拿到关键字的原始返回值,可以用Run Keyword And Ignore Error,它会返回一个包含状态和返回值的元组:

*** Task ***
${执行状态}    ${原始返回值} =    Run Keyword And Ignore Error    你的关键字名称

IF    ${执行状态} == FAIL
    Log    关键字执行失败,原始返回值:${原始返回值}
END

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:00:03