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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Robot Framework 自定义的library 和keyword 的问题相关的知识,希望对你有一定的参考价值。

最近刚刚接触Robot Framework,经常遇到一个这样的问题,
1.自定义的一个library,在导入之后,在search keyword 时,在source 里没有。
2.socure 里有自定义的library,但是修改后的新添加的keyword 在search keyword 时找不到,颜色为黑色,但是运行case确能成功

注意以下几点:导入的文件名要和你定义的类同名;resource里面添加的的new resource的setting项里要添加在library中的文件路径,case中在new suit时的setting项里要添加在resource中的文件路径,它们是一个调用一个的 参考技术A lz,请问你是怎么导入自定义的lib的呢?我是.py写的脚本。谢谢!

在 Robot Framework 中导入自定义测试库

【中文标题】在 Robot Framework 中导入自定义测试库【英文标题】:Importing custom testing library in Robot Framework 【发布时间】:2020-02-05 11:27:32 【问题描述】:

我正在为Python 中的Robot Framework 编写一个自定义测试库,我想像这样导入它:

Library         CustomLibrary

我将包含源代码的文件夹放在PYTHONPATH 上,但仍然出现错误:Importing test library 'CustomLibrary' failed: ImportError: No module named CustomLibrary

CustomLibrary 类在__init__.py 文件中定义,就像在AppiumLibrary 中这样:

from CustomLibrary.keywords import *

class CustomLibrary(_CustomKeywords):
    ROBOT_LIBRARY_SCOPE = 'GLOBAL'

如何解决这个问题,以便将其导入 Robot Framework?我想将类定义保留在 init 文件中。

【问题讨论】:

什么是 CustomLibrary 路径? /Users/<user-name>/Desktop/Python/CustomLibrary/ 你看过这篇文章了吗? ***.com/questions/15746675/… 是的。我的所有包裹中都有一个__init__.py 文件 当你说“把包含源代码的文件夹放在PYTHONPATH上”,你是什么意思?如果CustomLibrary 是文件夹foo 中的一个文件夹,您是将foo 放在PYTHONPATH 上,还是foo/CustomLibrary 【参考方案1】:

您需要确保包含 CustomLibrary 的文件夹位于 PYTHONPATH 上。

例如,以下对我来说可以正常工作:

    在 /tmp 中创建一个名为 CustomLibrary 的文件夹 创建一个名为 /tmp/CustomLibrary/__init__.py 的文件 在 /tmp/CustomLibrary/__init__.py 中定义一个名为 CustomLibrary 的类 在 CustomLibrary 类中定义一个方法 在测试中使用Library CustomLibrary 导入库 将 /tmp 添加到 PYTHONPATH 并运行机器人。例如,robot --pythonpath /tmp example.robot

【讨论】:

以上是关于Robot Framework 自定义的library 和keyword 的问题的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

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

Robot Framework - 将 Appium 驱动程序传递给 python 脚本