在机器人框架库中添加类

Posted

技术标签:

【中文标题】在机器人框架库中添加类【英文标题】:Add Class in Library of Robot Framework 【发布时间】:2021-08-04 10:09:28 【问题描述】:

我想在机器人框架库中添加一个类,但它不起作用。 我创建了一个简单的测试来描述我的问题。


Robot script: helloworld.robot  
*** Settings ***    
Library         Library.py

*** Test Cases ***    
Hello World     
      $x =     Print Hello World      
         log to console          $x

库脚本:Library.py

class Hello_World(object):    
      def print_Hello_World():         
            return "Hello World"


终端输出: enter image description here


我不明白为什么我会收到未找到关键字的错误。

脚本可以在没有类的情况下工作,但我需要添加类以进行进一步测试。

如果有人可以看看我的问题,我会很高兴。

最好的 悲伤

【问题讨论】:

请不要将错误消息链接为图像,这会使每个人都更难(包括搜索索引);另外,使用代码块来格式化相应的部分。 【参考方案1】:

来自user guide:

导入库时使用的测试库的名称与实现它的模块或类的名称相同。

还有:

Python 类总是在一个模块中。如果实现库的类名与模块名相同,Robot Framework 允许在导入库时删除类名。 ... 如果模块名和类名不同,则必须同时使用模块名和类名来使用库,例如​​ mymodule.MyLibrary 或 parent.submodule.MyLib。

因此将类重命名为与其所在的文件相同,或者在导入时提供类名。

【讨论】:

感谢托多的帮助。当我将类的名称更改为文件时,它可以工作。我也尝试提供类名,但它不起作用。对于上面的示例,我输入:Library Hello_World.Library 要使Library Library.Hello_World 格式起作用,Library.py 文件必须位于 pythonpath 中的目录中(当您尝试像这样运行它时,请参阅错误,它应该'已经打印了类似的东西)。

以上是关于在机器人框架库中添加类的主要内容,如果未能解决你的问题,请参考以下文章

在机器人框架中如何在执行期间登录到控制台

机器人框架库动态导入不保持全局

无法访问机器人框架中的 Java 类

机器人框架:如何将变量添加到声明的变量中

机器人框架添加关键字

深入剖析机器学习框架平台Pegasus