gpt4 book ai didi

python - 在 Robot Framework 中查找关键字名称(或关键字名称堆栈)

转载 作者:行者123 更新时间:2023-11-28 20:38:46 25 4
gpt4 key购买 nike

我一直在努力解决与这个问题相同的问题:Robot Framework location and name of keyword - 我需要找到一个关键字名称堆栈(我现在对关键字文件名不感兴趣)。
看来作者找到了解决办法。
不幸的是,我无法应用它,因为在我的 Robot Framework (3.0.2) 版本中,对象 _ExecutionContext 没有字段或属性关键字,所以在我的例子中,行 EXECUTION_CONTEXTS.current.keywords[-1].name
引发异常。感谢您的帮助!

最佳答案

您的问题最简单的解决方案可能是结合 keyword library and listener into a single module .监听器可以跟踪已调用的关键字,库可以提供关键字以访问该关键字列表。

这是一个非常基本的例子。没有错误检查,它需要完全匹配,但它说明了总体思路。

首先是自定义库:

from robot.libraries.BuiltIn import BuiltIn

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

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

# this defines a keyword named "Require Keyword"
def require_keyword(self, kwname):
if kwname not in self.keywords:
raise Exception("keyword '%s' hasn't been run" % kwname)

# this defines the "start keyword" listener method.
# the leading underscore prevents it from being treated
# as a keyword
def _start_keyword(self, name, attrs):
self.keywords.append(name)

接下来是它的使用示例:

*** Settings ***
Library CustomLibrary.py

*** Keywords ***
Example keyword
pass

*** Test Cases ***
Example test case
log hello, world!

# this will pass, since we called the log keyword
require keyword BuiltIn.Log

# this will fail because we haven't called the example keyword
require keyword Example keyword

关于python - 在 Robot Framework 中查找关键字名称(或关键字名称堆栈),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42508905/

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