跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
Python

RIDE 屏蔽 INFO 级别日志输出

自动化测试项目中大量 INFO 日志影响执行效率与查看。通过修改 RIDE 源码 testrunner.py 中的 get_message_log_level 函数,将最小日志级别从 INFO 调整为 WARN,可屏蔽 INFO 输出。调整后需确保 Log 关键字级别不低于设定值,否则无法显示。此方法适用于需要精简日志以提升性能的场景。

松间照月发布于 2018/11/28更新于 2026/4/253 浏览
RIDE 屏蔽 INFO 级别日志输出

RIDE 屏蔽 INFO 级别日志输出

在自动化测试项目中,若测试内容涉及软硬件且用例复杂,每个用例执行可能产生数万条 INFO 级别日志。这不仅影响测试人员查看日志的效率,也会拖慢用例执行速度。通过修改 RIDE 源码,可以选择性控制日志输出级别,从而提升效率。

1、用例示例

编写一个简单的测试用例,包含变量赋值、Log 输出及错误日志模拟。

(此处为日志输出示例截图)

2、更改日志输出级别

正常情况下,Log 函数默认输出 INFO 级别日志。在大型测试项目中,过多的 INFO 输出会影响查找和执行效率。可以通过屏蔽 INFO 级别来优化。

通过分析 RIDE 启动命令中的参数,发现日志相关文件包括 TestRunnerAgent.py 和对应的库 testrunner。在源码 robotide\contrib\testrunner\testrunner.py 中,存在 get_message_log_level 函数用于获取并设置最小日志级别,默认值为 INFO。

Robot Framework 的日志级别定义如下:

LEVELS = {
    'NONE': 6,
    'FAIL': 5,
    'ERROR': 4,
    'WARN': 3,
    'INFO': 2,
    'DEBUG': 1,
    'TRACE': 0,
}

将 get_message_log_level 函数中的 min_log_level_number 设置为 WARN,即可屏蔽 INFO 及以下级别的输出。修改后的逻辑如下:

def get_message_log_level(command):
    min_log_level_number = LEVELS['WARN']  # 修改为 WARN 以屏蔽 INFO
    if '-L' in command:
        switch = '-L'
    elif '--loglevel' in command:
        switch = '--loglevel'
    else:
        return min_log_level_number
    i = command.index(switch)
    if len(command) == i + 1:  # 修正索引判断
        return min_log_level_number
    level = command[i+1].upper().split(':')[0]
    return LEVELS.get(level, min_log_level_number)

修改后,仅 WARN 及以上级别的日志会输出。

(此处为修改后日志输出示例截图)

注意:此时原有的 Log 关键字(默认为 INFO 级别)将无法显示。需要在 Log 关键字中显式指定级别为 WARN 或更高,才能正常输出。

(此处为 Log 关键字级别设置示例截图)

即:设置最小日志级别后,所有 Log 函数的级别必须不低于该设定值,否则无法输出。

如需定制日志输出,可修改 TestRunnerAgent.py 文件,或自定义日志输出类。

3、说明

本方案基于以下环境验证:

  • Python 2.7.13
  • RIDE 1.5.2.1

目录

  1. RIDE 屏蔽 INFO 级别日志输出
  2. 1、用例示例
  3. 2、更改日志输出级别
  4. 3、说明
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python Business_rules 规则引擎使用与开发流程
  • 量化交易实战:基于 Quantitative-Notebooks 的配对交易策略
  • WPF UI 控件库 PanuonUI.Silver 介绍
  • OpenClaw 架构解析:从 Skills、MCP、RAG、Memory 到 AI Agent
  • JCache(JSR-107)的两种主要缓存拓扑模式:LOCAL 与 PARTITIONED 解析
  • incbin:C/C++二进制文件嵌入工具使用指南
  • Open WebUI MCPo 项目详解:将 MCP 工具转换为 OpenAPI 服务
  • Hadoop 集群启动常见异常排查与解决
  • Open WebUI MCPo 技术解析:MCP 协议转 OpenAPI 代理服务器
  • Open WebUI 新技术 MCPo:实现 MCP 协议到 OpenAPI 的无缝集成
  • 2023 年收入最高的十大编程语言深度分析
  • Claude Code 安装配置与实战教程
  • 学术写作辅助:智能降重与 AIGC 检测适配指南
  • 基于 SpringBoot 和 Vue 的语言考试信息报名系统设计
  • Python 学习路线图及核心知识点整理
  • 瑞芯微 RK3588 基于深度学习的嵌入式人脸门禁与 IPC 安防监控系统
  • 运维排查问题常用工具与方法论
  • 三层交换机实现 VLAN 间路由的配置指南
  • ELK 日志分析方案为何如此火热?
  • Vue3 主流 AI 代码助手安装与配置指南

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online