如何解决如何将参数传递给机器人库
似乎在“Robotframework”中,一个类在定义为库时被实例化。 我这样做:
Library /home/johann/xmlSockets.py "./config.xml" "test"
在python中,类可以被实例化:
> class xmlSockets():
> def __init__(self,configfile,Suchliste):
并且没有问题。使用 python,它可以完美运行。
当它在机器人框架中尝试这个时:
[ 错误 ] 文件错误 '/home/johann/robotest/Tests/fuenf.robot' 在第 6 行: 使用参数 ["config.xml" | 初始化库 'xmlSockets'测试 ] 失败:FileNotFoundError:[Errno 2] 没有这样的文件或目录: '"config.xml"'
我试过 config.xml,"config.xml",'config.xml','./config.xml',"./config.xml,@{config.xml device}...
没有成功。
解决方法
部分问题在于您在文件名中添加引号。错误消息不是告诉您 config.xml
不存在,而是告诉您 "config.xml"
不存在。因此,第一步是删除引号:
Library /home/johann/xmlSockets.py ./config.xml test
第二个可能是因为您假设库在与库相同的文件夹中而不是在当前工作目录中查找。在这种情况下,“。”表示当前工作目录,可能与robot文件所在目录不同,也可能与python文件所在目录不同。
在评论中,您说配置文件与机器人文件位于同一文件夹中。如果是这种情况,我建议您使用 built-in robot variable ${CURDIR}
将完整路径传递到您的库:
Library /home/johann/xmlSockets.py ${CURDIR}/config.xml test
,
解决方案是,当前目录不是包含库(或 python 类)的目录,它在 test 目录中的 this 下。因此,我们必须通过“../config.xml”或文件的绝对路径导航回 Python 类的导入位置(或其他位置)。
,如果库与 config.xml 在同一个项目中,您可以使用 built-in-variables 中的 ${CURDIR} 变量。 当前目录将是您创建库的文件的目录。我也会用它来指定库路径。像这样:
Library ${CURDIR}${/}path to lib${/}xmlSockets.py ${CURDIR}${/}path to config${/}config.xml "test"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。