环境: 机器人框架 2.7.5(java1.6.0_21 上的 Jython 2.5.2) 汤姆猫7.0.32
嗨,
我正在使用嵌入在 Java Web 应用程序中的 RF,并且将 --variablefile 参数传递到 RobotRunner API 时遇到问题。
根据用户指南,“与资源文件类似,导入的变量文件的路径被认为是相对于导入文件所在的目录,如果找不到,则从 PYTHONPATH 中的目录中搜索”。我的变量文件位于/my/server/apache-tomcat-7.0.32/webapps/myapp/WEB-INF/lib/Lib ,到目前为止我已经能够调用监听器接口(interface),将其放置在 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 目录进行搜索。
最佳答案
此问题已被报告为错误(我猜是这个问题的作者......)。 robotsframework 的作者确认当前的行为是不在 PYTHONPATH 中搜索命令行上指定的变量文件。
有关更多信息并查看此问题是否已修复,请转至 robotsframework 问题跟踪器 issue #1401
关于python - 如何将变量文件路径传递给位于 PYTHONPATH 上的 Robot Framework?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15775758/