环境: Robot Framework 2.7.5(java1.6.0_21上的Jython 2.5.2) Tomcat 7.0.32
嗨,
我在Java Web应用程序中使用RF嵌入式,并且在将--variablefile参数传递给RobotRunner API时遇到问题。
根据用户指南,“与资源文件类似,导入变量文件的路径被认为是相对于导入文件所在的目录,如果没有找到,则从PYTHONPATH中的目录中搜索”。我的变量文件位于/my/server/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/Lib,到目前为止,我已经能够调用一个侦听器接口,将其置于PYTHONPATH或者CLASSPATH,但显然找不到变量文件,除非只使用它的绝对路径。
PYTHONPATH:
/my/server/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/robotframework-2.7.5.jar/Lib/robot/libraries
/my/server/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/robotframework-2.7.5.jar/Lib
/my/server/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/Lib
__classpath__
__pyclasspath__/
.
/my/server/apache-tomcat-7.0.32/bin
CLASSPATH:
/my/server/apache-tomcat-7.0.32/bin/bootstrap.jar
/my/server/apache-tomcat-7.0.32/bin/tomcat-juli.jar
每当我尝试运行参数传递参数时,我会收到以下错误消息:
.../robotframework>java -jar robotframework-2.7.5.jar --listener myListener --variable MYPARAM:sit --variablefile myVariableFile.py path\to\my\test
[错误]导入变量文件'myVariableFile.py'失败:文件或目录不存在。
由于这是一个Web应用程序,因此设置变量文件的绝对路径并不好,最好能够依赖PYTHONPATH目录进行搜索。
答案 0 :(得分:1)
此问题已被报告为一个错误(由此问题的作者,我推测......)。 robotframework的作者证实,当前的行为是不在命令行上指定的变量文件中搜索PYTHONPATH。
有关详细信息以及是否已修复此问题,请转至issue #1401的机器人框架问题跟踪器