[英]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.