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

如何在Robot Framework中实现执行每个关键字后自动睡眠1秒?

Robot Framework 实现关键字执行后自动睡眠1秒的方案

方法一:封装带自动睡眠的自定义关键字

把需要重复执行的操作(比如Click)和Sleep打包成新关键字,后续用例直接调用这个封装后的关键字即可:

*** Keywords ***
# 针对Click的专属封装
Click And Sleep
    [Arguments]    ${locator}
    Click    ${locator}
    Sleep    1

# 通用封装,支持任意关键字
Run Keyword And Sleep
    [Arguments]    ${keyword}    @{args}
    Run Keyword    ${keyword}    @{args}
    Sleep    1

用例里的写法:

*** Test Cases ***
Sample UI Test
    # 用专属封装
    Click And Sleep    id=btn_submit
    # 用通用封装适配其他关键字
    Run Keyword And Sleep    Input Text    id=username    test_account

方法二:使用监听器实现全局自动睡眠

如果不想修改原有用例的关键字写法,可以用Robot Framework的监听器功能,让所有关键字执行完成后自动触发睡眠(可排除不需要的关键字)。

  1. 新建Python监听器脚本AutoSleepListener.py:
from robot.libraries.BuiltIn import BuiltIn

class AutoSleepListener:
    ROBOT_LISTENER_API_VERSION = 3

    def __init__(self, sleep_time="1"):
        self.sleep_time = sleep_time
        self.builtin = BuiltIn()

    def keyword_end(self, keyword_name, keyword):
        # 排除Sleep本身,避免无限循环
        if keyword_name.lower() != "sleep":
            self.builtin.sleep(self.sleep_time)
  1. 在测试中启用监听器:
    • 执行命令时指定:
      robot --listener AutoSleepListener.py:1 your_test_suite.robot
      
    • 或者在测试套件的Settings里导入:
      *** Settings ***
      Listener    AutoSleepListener.py    1
      

启用后,原有用例里只写Click ...即可,所有执行完的关键字(除了Sleep)都会自动睡眠1秒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 16:45:44