我正在执行maven构建中的robot测试用例。现在这些测试用例需要许多外部python模块。
当我直接执行它们(pybot
)时,一切正常。在
但是当我通过maven执行它们时,对于外部python模块,它失败了。在
[ ERROR ] Error in file '/home/xyz/robot/tf2jan/Tests/CLI/mycli/mycli_resources.txt': Importing test library '/home/xyz/robot/tf2jan/lib/rest/JsonValidator.py' failed: ImportError: No module named jsonselect
Traceback (most recent call last):
File "/home/xyz/robot/tf2jan/lib/rest/JsonValidator.py", line 6, in <module>
from jsonselect import jsonselect
PYTHONPATH:
/usr/lib/python2.7/dist-packages
/home/xyz/Downloads/python-jsonpath-rw
/home/xyz/Downloads/ply-3.10
/home/xyz/.m2/repository/org/robotframework/robotframework/3.0.2/Lib
/home/xyz/.m2/repository/org/robotframework/robotframework/3.0.2/robotframework-3.0.2.jar/Lib
我可以选择使用extraPathDirectories
将它们添加到maven插件配置中,如下所示:
但是使用这个解决方案,我将在路径中添加太多的模块,这将使pom文件复杂化。 是否有任何其他模块自动解决这些依赖关系?在
由于Maven中没有Python库的依赖关系管理,我建议您:
将库的位置添加到PYTHONPATH(因为它是由Maven检查的,请参见输出
PYTHONPATH:
)编辑如果不想手动将依赖项安装到CI框中,可以尝试以下maven插件:
见https://github.com/maven-download-plugin/maven-download-plugin
相关问题 更多 >
编程相关推荐