繁体   English   中英

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

[英]Not able to access the keywords in .robot file in one directory from other directory after creating python package

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

我已经创建了 Python 包(其中包含.robot 测试套件),这样我就可以在任何其他项目中重用特定 package 中的关键字,只需在我成功创建和安装包的任何地方导入库(命名为包含 some.robot 的资源测试套件和 .py 文件)。 现在我想在其他一些机器人项目中使用来自“资源”package 的关键字。 在这里,问题是当我写以下语句时:图书馆资源我无法使用资源 package 中给出的关键字。 但是如果我导入那个特定的机器人文件,我可以访问关键字:例如Resource../../../../Documents/MyWorkspace/RobotFramework/Resources/PostLoginSearch.robot这里我不想导入使用上述绝对路径,因为它也可以在不创建 package 的情况下完成。 那么是否可以通过仅导入资源 package 来使用关键字。 此外,我已经成功创建并安装了“资源”package,我也可以看到版本。 我可以调用 python 方法,但在导入“资源”package 后无法访问 Resources.robot 文件中的关键字

而这个“资源”在其他一些项目中

在此处输入图像描述

创建测试库

库搜索路径

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

Library <<name of your custom library>>

自省后更新

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

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

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

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

更好的方法

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

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

暂无
暂无

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

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