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确能成功
在 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 的问题
使用 Jython 在 Robot Framework 中使用自定义 Java 关键字/库
Robot Framework自定义测试库导入时的问题解决(Importing test library XXX failed )