繁体   English   中英

无法使用机器人框架中定义的关键字调用类方法

[英]Unable to call class methods with keyword defined in robot framework

嗨,我正在尝试创建自己的关键字,并从机器人脚本中调用它:

以下是我的示例代码:

util.py

from robot.api.deco import keyword

@keyword('Add Num')
def add(a,b):
    print "Simple method"
    return int(a)+int(b)
class Geo :
    @keyword('Class Add Num')
    def addd(self,a,b):
        print "Inside class method "
        return int(a)+int(b)

Sample.robot

*** Settings ***
Library   util.py

*** Test Cases ***
TC_01
    [Documentation]  sample test
    [Tags]  Sample
    Add Num  10  20
    Class Add Num  10  2

我正在使用pybot命令运行-pybot sample.robot

Add Num关键字可以正常工作,但是Class Add Num给出错误:

No keyword with name 'Class Add Num' found.

我曾尝试研究stackoverflow和官方机器人框架文档,但可以找到任何相关帮助。

如何解决此错误,或者我需要以其他方式实现它?

除了一种特殊情况(即类名与文件名的基本部分相同)外,Robot不会自动在库中的类中实例化。

写一个库的正确方法是要么使用一个类具有相同的名称作为文件名, 功能,但不能同时使用。 如果要同时使用两者,则由您决定创建类的实例并公开关键字。

第三种方法是使用动态库api,在其中创建特殊功能以获取可用关键字的列表( get_keyword_names ),并执行关键字( run_keyword )。 所有这些都记录在用户指南中。

暂无
暂无

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

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