繁体   English   中英

将 Python 自定义库加载到 Robot Framework

[英]Load Python custom libraries to Robot Framework

我在 Robot Framework 中启动了一个项目,但我的 Python 自定义库存在一些问题。

我有这样的结构:

文件结构

我现在的问题是我的关键字(关键字目录中的关键字)依赖于来自 GeneralCommands 目录以及 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 *

我发现解决这个问题的唯一方法是在 .robot 文件中添加每个依赖项,例如:

Library           ../../Common/HelperClass.py
Library           ../../Common/HelperClass2.py
Library           ../../Common/LmCommands/GeneralCommand1.py
Library           ../../Common/Keywords/TestKeyword.py

然而,当我扩展自定义库时,这种方法处理起来会变得复杂,最终我将有几十个导入库行。 我知道有 --pythonpath 这样的东西,但我想避免使用它,因为这个项目将在不同的机器上并且路径并不总是相同的。

有什么建议?

仅在通用目录中使用通用导入创建机器人文件

例如 myImports.robot

*** 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM