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

Robot Framework实现任意关键字失败时自动捕获截图

实现Robot Framework任意关键字失败触发截图的方案

默认的Register Keyword To Run On Failure是Selenium库专属的,只会监听Selenium自身关键字的失败,要覆盖所有关键字的失败场景,得改用Robot Framework的全局失败处理机制,具体操作如下:

1. 编写全局失败处理关键字

先定义一个自定义关键字,比如Global Failure Handler,逻辑是先执行截图,再抛出原始错误,避免掩盖问题:

*** Keywords ***
Global Failure Handler
    # 执行截图,用Run Keyword And Ignore Error防止截图失败覆盖原始错误
    Run Keyword And Ignore Error    Screenshot On Failure
    # 抛出原本的错误信息
    Fail    ${ERROR MESSAGE}

2. 注册全局失败处理

有两种方式可以把这个关键字设为全局失败触发的动作:

方式一:命令行启动时指定

执行测试脚本时加上参数:

robot --runonfailure "Global Failure Handler" 你的测试套件.robot

方式二:在测试套件内设置变量

在测试套件的变量区或者套件初始化里设置全局变量:

*** Variables ***
${ROBOT_RUN_ON_FAILURE}    Global Failure Handler

或者用套件初始化来设置:

*** Settings ***
Suite Setup    Set Suite Variable    ${ROBOT_RUN_ON_FAILURE}    Global Failure Handler

3. 注意事项

  • 删掉原来Selenium库的Register Keyword To Run On Failure Screenshot On Failure语句,避免重复触发截图。
  • 如果测试用例包含不涉及浏览器的场景(比如纯接口测试),可以在Global Failure Handler里增加判断逻辑,比如检查是否有活跃浏览器会话再执行截图,防止额外报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:25:29