1

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

4

1 回答 1

1

This issue has been reported as a bug (by the author of this question, I presume...). The author of robotframework confirmed that the current behavior is to not search PYTHONPATH for variablefiles specified on the command line.

For more information and to see if this has been fixed, go to the robotframework issue tracker for issue #1401

于 2013-05-15T18:25:10.133 回答