簡體   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