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

标签 python classpath tomcat7 pythonpath robotframework

环境: 机器人框架 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/

相关文章:

java - 保护 Raspberry Pi 上 Tomcat 上的 Web 服务

java - Android+Ant外部jar库

上下文中的 Java 类路径

java - Tomcat 7 服务器说它正在监听调试端口但不接受任何连接

java - 使用 Tomcat 7、Apache Wink 和 Mongodb 在 WAR Deploy 上记录错误

java - jooq启动: command line to generate classes

Python:如何在 Pandas 中将列彼此相乘?

python - apscheduler - 多个实例

python - 如何将字符串解析为字典

python - 在 python 中序列化一个 suds 对象