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

Robot Framework测试用例失败时执行指定关键字及相关问题咨询

Robot Framework 对应需求实现方案

需求1:用例执行过程中一旦检测到错误就触发发送文件、自动终止当前用例

你可以直接使用内置关键字Register Keyword To Run On Failure实现持续错误检测,无需每次手动写单次判断逻辑:

  • 用法:在对应测试用例的起始位置注册触发动作即可,后续用例内任意步骤执行失败时,RF会自动执行你注册的发文件关键字,之后终止当前用例执行
    *** Test Cases ***
    示例测试用例
        # 注册失败触发动作:只要后续任何步骤失败,自动执行发送文件逻辑
        Register Keyword To Run On Failure    你的自定义发文件关键字
        # 后续正常写测试步骤即可,无需额外加判断
        步骤1
        步骤2
        # 如不需要后续步骤触发该逻辑,可取消注册
        Unregister Keyword To Run On Failure
    

需求2:用例步骤失败后继续执行、保留全部报错信息

有两种实现方式可以选择,均不会丢失报错信息:

方式1:全局设置单条用例失败继续执行

Robot Framework 4.0及以上版本支持直接给测试用例设置Continue On Failure属性,该用例所有步骤失败后都会继续执行,所有报错会自动完整记录在RF的日志、报告中,无需额外处理:

*** Test Cases ***
失败后继续执行的用例
    [Continue On Failure]    Yes
    步骤1    # 失败后自动继续跑步骤2
    步骤2
    步骤3

方式2:手动收集所有报错信息

如果需要把所有报错汇总做后续处理(比如放到通知内容里),可以搭配Run Keyword And Ignore Error使用,该关键字不会吞报错,只是不会主动终止执行,你可以手动捕获报错、打印并存储:

*** Test Cases ***
收集全部报错的用例
    ${错误列表}=    Create List
    # 执行步骤1,捕获状态和报错
    ${状态}    ${报错}=    Run Keyword And Ignore Error    步骤1
    IF    $状态 == 'FAIL'
        Log    ${报错}    level=ERROR
        Append To List    ${错误列表}    步骤1报错:${报错}
    END
    # 执行步骤2,捕获状态和报错
    ${状态}    ${报错}=    Run Keyword And Ignore Error    步骤2
    IF    $状态 == 'FAIL'
        Log    ${报错}    level=ERROR
        Append To List    ${错误列表}    步骤2报错:${报错}
    END
    # 最后统一输出所有报错
    Log    本次用例全部报错:${错误列表}    level=ERROR

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 08:24:00