Python版本: 3.7.8机器人框架: 3.1.2
我有一个python类,其中指定了一个类变量,以便稍后在机器人框架中存储和检索数据。
示例: class1
class test1():
__testvar__=[]
def set_data(self, data):
test1.__testvar__.append(data)
def get_data(self)
return test1._testvar__
def main_calling_method(self):
...something...
self.set_data(data)
class2:
from ...test1 import test1
class test2():
t=test1()
def get_method_data(self)
return test2.t.main_calling_method()
机器人框架: Robot1文件:
*** Settings ***
Library Pathto\test2.py
*** Keywords ***
callingkeyword
${body}= get_method_data
[RETURN] ${body}
main keyworkd
${response}= callingkeyword
[RETURN] ${response}
Robot2文件:
*** Settings ***
Resoure Pathto\Robot1.robot
Library Pathto\test1.py
*** Keywords ***
testing
${temp}= main keyworkd
${data}= get_data
log to console ${data}
预期结果:-值的类变量--testvar_将在控制台中打印
实际结果:-打印空列表。
如果我从python运行'get_data‘方法,它会打印作为set_data的一部分添加的数据,但是在从机器人框架运行时不会产生相同的结果。
但是,如果像下面这样调用set方法,在调用get_method之前,则正确地打印数据。
*** Keywords ***
testing
${temp}= main keyworkd
set_data= testing
${data}= get_data
log to console ${data}
你能帮我解决问题吗?
注意:以上场景只是为了理解目的而编写的虚拟代码,因为出于安全考虑,我无法共享实际的项目代码。
发布于 2020-01-03 09:51:26
似乎您没有将任何数据放入类中,因此在打印时没有得到任何输出。但是在您展示的第二部分代码中,您将"set_data=测试“称为”测试“(我想这是您定制的另一个关键字?),它似乎将数据放入类中,以便打印出来。
https://stackoverflow.com/questions/59534664
复制相似问题