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

Robot Framework技术问询:如何为每个Keyword添加执行时序并查看执行时间

Robot Framework 所有Keyword展示执行时序信息的解决方案

调整日志级别强制记录细节

  • 执行测试时,用命令行参数--loglevel DEBUG,或者在测试套件里设置Log Level: DEBUG,强制记录所有Keyword的执行细节,包括时序信息,展开按钮就能正常响应。
  • 要是觉得DEBUG日志太冗余,换成INFO级别也可以,但得确保Robot Framework的日志配置里开启了Keyword级别的时序记录。

写个通用时序包装Keyword

自己封装一个带计时的包装Keyword,把所有需要监控的Keyword套进去,手动记录时序信息:

*** Keywords ***
带计时的Keyword
    [Arguments]    ${原Keyword名}    @{参数}
    ${开始时间}=    Get Current Time    format=%Y-%m-%d %H:%M:%S.%f
    Log    开始执行Keyword:${原Keyword名},时间:${开始时间}    INFO
    ${执行结果}=    Run Keyword    ${原Keyword名}    @{参数}
    ${结束时间}=    Get Current Time    format=%Y-%m-%d %H:%M:%S.%f
    ${耗时}=    Subtract Time    ${结束时间}    ${开始时间}
    Log    完成Keyword:${原Keyword名},时间:${结束时间},耗时:${耗时}    INFO
    [Return]    ${执行结果}

用的时候直接把原Keyword调用换成带计时的Keyword 原Keyword名 参数1 参数2,不管是什么类型的Keyword,都会生成明确的时序日志。

修改日志配置模板

找到Robot Framework的logger.conf配置文件(一般在Python安装目录的Lib/site-packages/robot/libraries/logger.conf),调整日志格式,强制加入时序字段:

  • 找到[handler_fileHandler]下的formatter对应的格式字符串,添加%(starttime)s、%(endtime)s、%(duration)s字段(注意部分版本可能需要扩展支持,先确认版本兼容性)。

检查Keyword定义方式

如果是直接调用内置Keyword没做封装,或者定义得太极简,可能不会生成可展开的日志节点。把这类Keyword简单封装成自定义Keyword,哪怕只是一层空包装,也能触发日志的时序记录逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:53:34