我创建了一个关键字
Select Topic
[Arguments] @{input}
${cnt}= Get length @{input}
Log ${cnt}
在另一个Robot Framework文件中,我使用参数
调用关键字 select topic 1 2 3 4
因此预期输出为4,但结果显示为7(包括空格)。
答案 0 :(得分:3)
当您传递1 2 3 4
之类的内容时,您传递的是一个文字字符串1 2 3 4
。如果要传递四个或更多参数的列表,则每个参数之间需要两个或多个空格:
此外,作为一般规则,在尝试引用对象本身时,您需要使用$
而不是@
。当您使用@
时,机器人会将列表拆分为单独的参数。
这是一个有效的例子。注意在调用关键字时每个数字之间的两个空格,以及在调用$
时使用get length
:
*** Test Cases ***
test1
Select Topic 1 2 3 4
*** Keywords ***
Select Topic
[Arguments] @{input}
${cnt}= Get length ${input}
should be equal as numbers ${cnt} 4
答案 1 :(得分:2)
关键字期望列表形式中的一个参数。运行解释的Robot Framework将为无效数量的参数抛出异常。创建一个列表并将其传递给关键字。
以下解决方案适合您:
**** Test Cases ***
test1
${List1} Create List 1 2 3 4
Select Topic ${List1}
*** Keywords ***
Select Topic
[Arguments] @{input}
${cnt}= Get length @{input}
Log ${cnt}*