[英]Method within a method in robot framework
語言: python-3.7.3 框架: Robot Framework-3.1.1 IDE: Pycharm 熟練程度:新手
我有一個用python編寫的用戶定義方法,該方法在替換匹配的字符后返回字符串。
字符串: (12356,)
要替換的字符:(和,和)
replacecharacter: $ {空}
預期: 123456
方法:
def replace_a_specific_character_in_a_String(self, str_var, replacingCharacter, charactertoReplace):
str = str_var.replace(replacingCharacter, charactertoReplace)
return str
我希望從我的機器人文件中調用以下相同的方法。
${response}= replace a specific character in a String [replace a specific character in a String ${response} , ${EMPTY}) ${EMPTY}] ( ${EMPTY}
這引發以下錯誤
Keyword 'Methods.Replace A Specific Character In A String' expected 3 arguments, got 6.
我理解錯誤消息,因為它將方法內部的方法作為參數。 那么在這種情況下應遵循的正確語法是什么。 請指教。
如錯誤所示,您的函數需要3個參數:
但是,您要通過六次。 考慮以下代碼行:
replace a specific character in a String [replace a specific character in a String ${response} , ${EMPTY}) ${EMPTY}] ( ${EMPTY}
由於robot使用兩個或多個空格作為參數分隔符,因此這些是它傳遞給函數的參數:
如果我了解您要執行的操作,則想一次調用該關鍵字,然后將該函數的結果再次傳遞給該關鍵字。 機器人不允許您這樣做。 您必須運行兩次關鍵字,保存第一次調用的結果並將其傳遞給第二次。
例如:
${tmp}= replace a specific character in a String ${response} ( ${EMPTY} ${response}= replace a specific character in a String ${tmp} ) ${EMPTY}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.