如何让机器人框架记录在 python 中调用的 python 方法?
Posted
技术标签:
【中文标题】如何让机器人框架记录在 python 中调用的 python 方法?【英文标题】:How to get Robot Framework to log python methods called in 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 关键字的巨大平坦跟踪。
【参考方案1】:
可以使用 DEBUG 日志级别进行回溯。
来自机器人框架用户指南部分Debugging problems:
如果默认情况下日志文件没有提供足够的信息,则可以使用较低的日志级别执行测试。例如,使用 DEBUG 级别记录显示代码中发生故障的位置的回溯,当问题出现在单个库关键字中时,此信息非常宝贵。
【讨论】:
以上是关于如何让机器人框架记录在 python 中调用的 python 方法?的主要内容,如果未能解决你的问题,请参考以下文章
你如何让 Discord 机器人响应 DM 中的命令? (Python)