使用robotframework访问静态类变量?

时间:2014-09-16 01:44:56

标签: robotframework

是否可以从加载到机器人框架中的库中访问静态类变量?

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

foo = 'value'

class MyClass(self):
    bar = 'value'

.robot文件中是否有一种方法可以引用它来引用foo或bar?

2 个答案:

答案 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的第二个实例。