【问题标题】: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


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

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

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

最好的 悲伤

【问题讨论】:

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

标签: python class testing robotframework keyword


【解决方案1】:

来自user guide

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

还有:

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

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

【讨论】:

  • 感谢托多的帮助。当我将类的名称更改为文件时,它可以工作。我也尝试提供类名,但它不起作用。对于上面的示例,我输入:Library Hello_World.Library
  • 要使Library Library.Hello_World 格式起作用,Library.py 文件必须位于 pythonpath 中的目录中(当您尝试像这样运行它时,请参阅错误,它应该'已经打印了类似的东西)。
猜你喜欢
  • 2020-04-16
  • 2015-10-14
  • 2019-05-10
  • 1970-01-01
  • 2018-04-25
  • 2015-07-16
  • 1970-01-01
  • 2021-07-17
相关资源
最近更新 更多