我是Robot Framework的新手,我正在试图找出如何将多个语句与If条件相关联。
基本预编码计算数组WORDS中的条目,并将值分配给length。
${length}= Get length ${WORDS}
接下来我想对阵列的大小进行简单的检查(应该有10个项目)。
${status}= Set Variable If ${length} == 10 TRUE FALSE
现在我想记录结果并传递或失败测试用例。
Run Keyword If $status == "TRUE"
... Log ${status}
... ELSE
... Log ${status}
Run Keyword If $status != "TRUE"
... FAIL Values do not match
我想结合ELSE +记录状态+未通过测试用例,但似乎无法弄明白。在C编程中,我只是简单地支持{}之间的语句并且没问题。
在机器人框架中,我尝试过运行关键字'但没有运气。
... ELSE Run keywords
... Log ${status}
... FAIL Values Do Not Match
我希望有办法实现这一目标。感谢任何意见。
谢谢,
丹
答案 0 :(得分:3)
使用“运行关键字”是正确的解决方案。但是,要运行多个关键字,您必须使用文字AND
:
... ELSE run keywords
... log ${status}
... AND FAIL Values Do Not Match
答案 1 :(得分:0)
您可以使用log和fail关键字创建关键字并将状态作为参数传递,然后在ELSE语句后使用此关键字。
或者像你一样使用run关键字,但在FAIL之前添加AND语句(在此处阅读更多内容:http://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Run%20Keywords)
或者考虑将$ {status}添加到失败消息:失败值不匹配。状态:$ {status}
答案 2 :(得分:0)
Set Test Variable ${temp} rxu
Run Keyword if '${temp}'=='rxu'
... Run Keywords
... Log To Console this is one
... Log To Console This is two
... ELSE Run Keyword Log To Console another block