如何将变量文件路径传递给位于PYTHONPATH上的Robot Framework?

时间:2013-04-02 22:43:57

标签: python classpath tomcat7 pythonpath robotframework

环境: 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目录进行搜索。

1 个答案:

答案 0 :(得分:1)

此问题已被报告为一个错误(由此问题的作者,我推测......)。 robotframework的作者证实,当前的行为是在命令行上指定的变量文件中搜索PYTHONPATH。

有关详细信息以及是否已修复此问题,请转至issue #1401的机器人框架问题跟踪器