将Python自定义库加载到Robot框架

将Python自定义库加载到Robot框架,python,robotframework,Python,Robotframework,我在Robot框架中启动了一个项目,我对python中的自定义库有一些问题 我有这样的结构: 我现在的问题是,我的关键字(关键字目录中的关键字)依赖于来自GeneralCommand目录以及HelperClass.py和HelperClass2.py的文件。如果我用Python运行代码,一切都很好。但当我调用Robot Framework中的一个关键字时: Library ../../Common/Keywords/TestKeyword.py 它抱怨找不到依赖项: [ ERROR

我在Robot框架中启动了一个项目,我对python中的自定义库有一些问题

我有这样的结构:

我现在的问题是,我的关键字(关键字目录中的关键字)依赖于来自GeneralCommand目录以及HelperClass.py和HelperClass2.py的文件。如果我用Python运行代码,一切都很好。但当我调用Robot Framework中的一个关键字时:

Library      ../../Common/Keywords/TestKeyword.py
它抱怨找不到依赖项:

[ ERROR ] Error in file 'C:\(...)\test.robot': Importing test library 'C:\(...)\Common\Keywords\TestKeyword.py' failed: ModuleNotFoundError: No module named 'GeneralCommand1'
Traceback (most recent call last):
  File "C:\(...)\Common\Keywords\TestKeyword.py", line 5, in <module>
    from GeneralCommand1 import *
然而,当我扩展自定义库时,这种方法将变得复杂,最终我将有几十个导入库行。 我知道有--pythonpath这样的东西,但我想避免使用它,因为这个项目将在不同的机器中,路径也不总是相同的


有什么建议吗?

仅使用通用目录中的通用导入创建robot文件

e、 机器人

*** Settings ***
Library    SeleniumLibrary   
Library    Collections      
Library    DateTime   
Library    ../../Common/HelperClass.py
Library    ../../Common/HelperClass2.py
Library    ../../Common/LmCommands/GeneralCommand1.py
Library    ../../Common/Keywords/TestKeyword.py
现在可以将myImports.robot导入到测试套件中

*** Settings ***
Resource    ../../Common/myImports.robot

这是我正在考虑的实际方法之一,但是除了没有在测试套件文件中占用太多空间之外,我的情况也是一样的——就像,如果我扩展我的自定义库并因此添加更多的文件/依赖项,我需要不断地将它们添加到myImports.robot文件中,这以后可能会有点混乱。实际上,对我来说,我需要的唯一导入是实际的关键字(例如../../Common/keywords/TestKeyword.py),但Robot似乎也需要实际的依赖项
*** Settings ***
Resource    ../../Common/myImports.robot