gpt4 book ai didi

python - 如何获取日志跟踪的当前关键字名称?

转载 作者:行者123 更新时间:2023-12-05 02:11:34 24 4
gpt4 key购买 nike

我正在使用 RobotFramework 进行自动测试,需要编写关键字来打印足够的日志信息,但我找不到获取日志跟踪的当前关键字名称的方法。有谁知道如何实现它?非常感谢。

最佳答案

机器人不支持获取当前关键字名称。由于您正在编写的代码必须从关键字运行,因此您的关键字应该知道它自己的名字是什么。

如果你用 python 编写关键字,python 库也可以是一个监听器,可以在堆栈上压入和弹出关键字。然后,您可以使用该信息来格式化错误消息。

这是一个简单的例子:

from robot.libraries.BuiltIn import BuiltIn

class ExampleLibrary(object):
ROBOT_LISTENER_API_VERSION = 2
ROBOT_LIBRARY_SCOPE = "GLOBAL"

def __init__(self):
self.ROBOT_LIBRARY_LISTENER = self
self.keywords = []

def _start_keyword(self, name, attrs):
self.keywords.append(name)

def _end_keyword(self, name, attrs):
self.keywords.pop()

def log_error_message(self, reason):
message = "{keyword} failed in testcase {testcase}: {reason}"
BuiltIn().log(message.format(
keyword=self.keywords[-2],
testcase=BuiltIn().get_variable_value("${TEST_NAME}"),
reason=reason,
))

下面是一个示例测试用例,展示了如何使用它:

*** Settings ***
Library ExampleLibrary.py

*** Keywords ***
A keyword
log inside A keyword
Another keyword

Another keyword
log error message something went wrong

*** Test Cases ***
Example
A keyword

当您运行上述测试时,您将在日志中获得以下信息:

screenshot of log

关于python - 如何获取日志跟踪的当前关键字名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57370551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com