用户关键字返回值
和库关键字类似, 用户关键字也可以返回值. 常见的做法是通过 [Return] 设置, 不过还可以使用 BuiltIn_ 关键字 Return From Keyword 和 Return From Keyword If 来实现.
不管使用何种方式返回值, 返回值都可以被 赋值给变量
设置 [Return]
最常见的情况是用户关键字返回一个值, 并且赋值给一个标量变量. 直接将返回值放在 [Return] 设置后面的单元格内.
用户关键字还可以返回多个值, 这些值可以一次性赋给多个标量, 或者一个列表变量, 或者两者混合. 多个值只需依次跟在 [Return] 后面的单元格中即可.
- *** Test Cases ***
- One Return Value
- ${ret} = Return One Value argument
- Some Keyword ${ret}
- Multiple Values
- ${a} ${b} ${c} = Return Three Values
- @{list} = Return Three Values
- ${scalar} @{rest} = Return Three Values
- *** Keywords ***
- Return One Value
- [Arguments] ${arg}
- Do Something ${arg}
- ${value} = Get Some Value
- [Return] ${value}
- Return Three Values
- [Return] foo bar zap
通过特殊关键字来返回值
内置关键字 Return From Keyword 和 Return From Keyword If 可以在用户关键字中间根据条件来返回值. 这两个关键字都支持返回多个值.
下面的第一个例子在功能上和前面使用 [Return] 的例子一样. 第二个例子则更高级点, 演示了如何在 FOR循环 中根据条件来返回值.
- *** Test Cases ***
- One Return Value
- ${ret} = Return One Value argument
- Some Keyword ${ret}
- Advanced
- @{list} = Create List foo baz
- ${index} = Find Index baz @{list}
- Should Be Equal ${index} ${1}
- ${index} = Find Index non existing @{list}
- Should Be Equal ${index} ${-1}
- *** Keywords ***
- Return One Value
- [Arguments] ${arg}
- Do Something ${arg}
- ${value} = Get Some Value
- Return From Keyword ${value}
- Fail This is not executed
- Find Index
- [Arguments] ${element} @{items}
- ${index} = Set Variable ${0}
- :FOR ${item} IN @{items}
- \ Return From Keyword If '${item}' == '${element}' ${index}
- \ ${index} = Set Variable ${index + 1}
- Return From Keyword ${-1} # Could also use [Return]
注解
Return From Keyword 和 Return From Keyword If这两个关键字在 Robot Framework 2.8 版本后才支持.
当前内容版权归 robotframework 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 robotframework .