【问题标题】:Set log level for built in keywords in robotframework为机器人框架中的内置关键字设置日志级别
【发布时间】:2022-03-24 19:20:48
【问题描述】:

在机器人框架中,它看起来像是默认使用“INFO”日志级别记录关键字“=”的消息。例如:

<Test case>
  ${xyz} = "hello"

将记录消息:

'INFO': ${xyz} = "hello"

我想将此日志级别降低为“调试”或“跟踪”,但似乎无法在源代码中找到它。 对此有何建议?

【问题讨论】:

  • 你能提供一个想要这个的理由吗?您是否尝试过像robot -L WARN 这样不太详细的级别来生成日志文件?
  • 嗯,一些变量设置涉及设置密码左右。我希望能够抑制消息。其中许多非常冗长。我使用 RobotListener 进一步过滤消息。区分内置关键字和自定义 LOG INFO 消息很棘手(除非我在 LOG INFO 消息中输入了特定模式)。

标签: robotframework


【解决方案1】:

您是否尝试过执行测试,将整个执行提升到更深层次的“DEBUG”或“TRACE”,将 -L trace-L debug 添加到您的测试调用中。例如robot -L trace mytest.robot

【讨论】:

  • 如果我有另一个步骤(如 LOG "..." INFO),该内容也将被隐藏。我想单独控制关键字的日志级别。
【解决方案2】:

此外,您可以在代码中设置日志级别。像这样:

  Test Setup                Set Log Level    TRACE

然后在 log.html 文件中,右上角会显示一个可见的日志级别下拉菜单。这允许用户从视图中删除低于所选级别的消息。这在 TRACE 级别运行测试时尤其有用。

更多信息请见:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#visible-log-level

【讨论】:

    【解决方案3】:

    这样定义的源代码

        def log(self, message, level='INFO', html=False, console=False,
                repr=False, formatter='str'):
            u"""Logs the given message with the given level.
    
            Valid levels are TRACE, DEBUG, INFO (default), HTML, WARN, and ERROR.
            Messages below the current active log level are ignored. See
            `Set Log Level` keyword and ``--loglevel`` command line option
            for more details about setting the level.
    

    使用示例 记录您的消息:{message} level=DEBUG

    【讨论】:

      猜你喜欢
      • 2015-08-12
      • 2018-04-25
      • 2013-11-08
      • 1970-01-01
      • 2012-05-04
      • 2017-10-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      相关资源
      最近更新 更多