是否可以从加载到机器人框架中的库中访问静态类变量?
例如,假设我在.robot文件中包含以下python库:
foo = 'value'
class MyClass(self):
bar = 'value'
.robot文件中是否有一种方法可以引用它来引用foo或bar?
答案 0 :(得分:3)
您可以通过使用Get Library Instance获取对原始python模块的引用来获取这些内容,然后使用extended variable syntax来获取值。
例如,考虑一个名为MyLibrary.py的库:
# MyLibrary.py
foo = "this is foo"
class MyClass(object):
bar = "this is bar"
您可以使用Get Library Instance访问foo和bar来获取库的句柄:
*** Settings ***
| Library | MyLibrary.py
*** Test Cases ***
| Example of accessing variables in a library
| | ${lib}= | Get Library Instance | MyLibrary
| |
| | Should be equal as strings | ${lib.foo} | this is foo
| | Should be equal as strings | ${lib.MyClass.bar} | this is bar
答案 1 :(得分:0)
您应该将ROBOT_LIBRARY_SCOPE = 'GLOBAL'
添加到MyClass。如果不是Get Library Instance
将创建MyClass的第二个实例。