我有一个包含以下变量的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)
答案 0 :(得分:0)
使用变量文件导入的变量不存在于使用Evaluate
运行代码的上下文中。即使您在变量文件中定义foo
,Evaluate
运行的代码也不了解该变量。
您在问题中描述的内容正是机器人的设计方式。