使用robotframework访问静态类变量?

使用robotframework访问静态类变量?,robotframework,Robotframework,是否可以从载入robot框架的库中访问静态类变量 例如,假设我在.robot文件中包含以下python库: foo = 'value' class MyClass(self): bar = 'value' 在包含它的.robot文件中是否有方法引用foo或bar?您可以通过获取对原始python模块的引用,然后使用获取值来获取这些值 例如,考虑一个名为MyLibrary .p::/p>的库。 # MyLibrary.py foo = "this is foo" class MyCl

是否可以从载入robot框架的库中访问静态类变量

例如,假设我在.robot文件中包含以下python库:

foo = 'value'

class MyClass(self):
    bar = 'value'

在包含它的.robot文件中是否有方法引用foo或bar?

您可以通过获取对原始python模块的引用,然后使用获取值来获取这些值

例如,考虑一个名为MyLibrary .p::/p>的库。

# MyLibrary.py
foo = "this is foo"

class MyClass(object):
    bar = "this is bar"
您可以通过获取库的句柄来访问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

您应该将
ROBOT\u LIBRARY\u SCOPE='GLOBAL'
添加到MyClass中。如果没有,则
Get Library Instance
将创建MyClass的第二个实例。

因此,即使robotframework中具有${object.variable}访问功能,它也不适用于仅“libraries”的对象?@kimon:在仔细考虑这个问题后,我想出了一个解决方案。我已经编辑了我的答案。