【问题标题】:How to get Robot Framework to log python methods called in python?如何让机器人框架记录在 python 中调用的 python 方法?
【发布时间】:2017-12-19 15:49:11
【问题描述】:

机器人

Test Robot
    [Tags]                             example
    Test

Python:

def robot_keyword(function):
    @functools.wraps(function)
    def wrapper(*args, **kwargs):
        logger.console(function.__name__)
        return BuiltIn().run_keyword(function.__name__)
    return wrapper

def test():
    # BuiltIn().run_keyword('hello')
    hello()

@robot_keyword
def hello():
    logger.console('hi')

因为 run_keyword 没有传递函数指针并尝试再次调用 hello(),所以我遇到了一个循环。

已超出启动关键字的最大限制。

有没有人找到一种方法来在机器人日志中拥有像“hello()”这样的机器人日志功能?

【问题讨论】:

  • 您的代码示例中的缩进不正确。所有函数都在robot_keyword 的定义中吗?请修正缩进。
  • 谢谢,已修复。我可以得到痕迹。我想要嵌套关键字的可折叠 html 树。只是这样我就不会得到大型 python 关键字的巨大平坦跟踪。

标签: logging function-pointers robotframework


【解决方案1】:

可以使用 DEBUG 日志级别进行回溯。

来自机器人框架用户指南部分Debugging problems

如果默认情况下日志文件没有提供足够的信息,则可以使用较低的日志级别执行测试。例如,使用 DEBUG 级别记录显示代码中发生故障的位置的回溯,当问题出现在单个库关键字中时,此信息非常宝贵。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-23
    • 2017-11-02
    • 1970-01-01
    • 2022-11-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多