微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将参数传递给机器人库

如何解决如何将参数传递给机器人库

似乎在“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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?