创建python包后,无法从另一个目录访问一个目录中的.robot文件中的关键字



创建python包后,无法从另一个目录访问一个目录中的.robot文件中的关键字。虽然我可以访问.py的方法,但不能访问.robot文件。

我已经创建了Python包(其中包含.robot测试套件(,这样我就可以在任何其他项目中重用该特定包中的关键字,只需在任何地方导入Library我已经成功创建并安装了包(名为参考资料,其中包含一些.robot测试套件和.py文件(。现在我想在其他Robot项目中使用"Resources"包中的关键字。在这里,问题是当我写下以下声明时:库资源我无法使用资源包中给定的关键字。但如果我导入那个特定的机器人文件,我就可以访问关键字:例如资源../../..//Documents/MyWorkspace/RobotFramework/Resources/PostLoginSearch.rob这里我不想使用上述绝对路径导入,因为它也可以在不创建包的情况下完成。所以,只导入Resources包就可以使用关键字吗。此外,我已经成功创建并安装了"资源"包,我也可以看到版本。我可以调用python方法,但在导入"Resources"包后无法访问Resources.robot文件中的关键字

这个"资源"在的其他项目中

在此处输入图像描述

创建测试库

库搜索路径

指定要导入的测试库的最常见方法是使用其名称。Robot Framework试图从库搜索路径中找到实现库的类或模块。基本上,这意味着库代码及其所有可能的依赖项必须在PYTHONPATH中。如果您的库位于PYTHONPATH环境变量中,则使用

Library <<name of your custom library>>

反省后更新

我认为,这在robot中是不允许的,因为根据定义,当创建python用户定义库时,它只包含.py文件,因为它们是自定义库。

另一方面,资源文件为在robot中创建的用户关键字和变量提供了一种机制,该机制包含.robot扩展名。

这是两个不同的方面,我觉得你是在结合两个不应该的不同的东西。

也许另一种方法是将所有通用关键字(而不是自定义*.py(文件定义为测试套件本身的一部分,这样,当任何测试用例/模块调用时,它们都会立即被继承。

更好的方法

  1. 将所有常用关键字分组到一个文件中,使其可供所有测试用例使用,即使用设置部分下的资源

  2. 创建自定义测试库并将其放在PYTHONPATH下,并将这些方法作为关键字访问。

相关内容

最新更新