从库中评估变量

时间:2017-09-06 10:32:37

标签: python eval robotframework

我有一个包含以下变量的python库(bar_variables):

from bar_class import *

foo = bar_class()

现在在机器人中我有以下代码:

Variables bar_variables.py

Setup
    ${variable1}=    Set Variable    ${foo}
    ${variable2}=    Set Variable    foo
    ${variable3}=    Evaluate    ${variable2}

变量1具有正确的对象,而执行变量3时出现以下错误:

Evaluating expression 'foo' failed: NameError: name 'foo' is not defined

如果我在python中尝试相同,它可以工作:

from bar_variables import *

variable2 = 'foo'
variable3 = eval(variable2)

在python中,variable3具有正确的对象,而在机器人中它没有工作

机器人版本是:

>pybot --version
Robot Framework 3.0.2 (Python 2.7.13 on win32)

1 个答案:

答案 0 :(得分:0)

使用变量文件导入的变量不存在于使用Evaluate运行代码的上下文中。即使您在变量文件中定义fooEvaluate运行的代码也不了解该变量。

您在问题中描述的内容正是机器人的设计方式。