Robot Framework自定义测试库导入时的问题解决(Importing test library XXX failed )

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Robot Framework自定义测试库导入时的问题解决(Importing test library XXX failed )相关的知识,希望对你有一定的参考价值。

参考技术A 一般我们自己写的测试库会放在 python的site-packages 路径下,其他第三方库自动安装的也都在这个目录中,比如requests等,这样在导入库的时候,会自动识别。以前我都是这么做的,但是这样有个不好的地方,就是库与项目目录分离,若我想把我自定义的库放在项目的Library目录中,直接Import就会报failed,找不到这个库。

找官方文档,里面给出了具体原因:
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#module-search-path
python有个模块搜索路径,可以自己sys.path看下:

所以,后面的思路就明确了,把自己项目的路径添加到python的模块搜索路径下,具体有几种方法可以实现:

一、命令添加path路径

二、在site-packages目录下面新建一个.pth 文件(以pth作为后缀名) ,将模块的路径写进去,可以发现,有些第三方库也有这个.pth文件,可以作为参考。

添加后,再次sys.path看下:

自定义的目录已经在python的模块搜索路径下了
请确保库的文件名和CLASS名一致,这样 import 库名的时候,可以省略.py后缀

注意,这里还有个问题,如果我的库文件不在模块搜索路径下,是在该路径的子路径下面,那其实直接import还是会搜索不到,这时加上相对路径即可

以上是关于Robot Framework自定义测试库导入时的问题解决(Importing test library XXX failed )的主要内容,如果未能解决你的问题,请参考以下文章

Robot Framework自定义测试库的作用域的理解

Robot Framework - 从不同位置导入具有 2 个类的库

使用 Jython 在 Robot Framework 中使用自定义 Java 关键字/库

Robot Framework 自定义的library 和keyword 的问题

将现有的 Webdriver 对象传递给 Robot Framework 的自定义 Python 库

Robot Framework——自动化示例