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