Robot Framework经验谈 - Run Keyword If等内建关键字返回如何决定测试案例结果

一个案例(Test Case)结束,返回执行的状态(status)一般有两种:成功还是失败, PASS/FAIL

一个关键字(Keyword)结束,会同时向调用者返回(执行结果的)状态(status)和值(*return_values)。返回状态是布尔型,返回值是单个变量或者list,他们可以一起被调用者接收。返回状态可以用${status}  ==  [True | true | False  |  false]判断,比如${status} | ${values} = | Run Keyword And Ignore Error | your_keyword | your_keyword_args。 

有些内建关键字以Run Keyword开头,比如Run Keyword, Run Keyword If, Run Keywords, 其返回值原样复制其所运行的关键字的返回值(run keywords则是参数内的最后一个关键字的返回值)。

比如你有个普通关键字可以这样用:${num} = | Get Item Number |  ${page}, 加上条件判断则可以这样: ${num}= | Run Keyword If | contition_is_true | Get Item Number | ${page}

如果Run Keyword If 的条件判断为false导致参数内的关键字不被执行,Run Keyword  If 的返回值将为空==None(这个类似${var}= Set Variable If 陷阱,如果条件不成立${var}的值会被清空而不是保持原值,所以有条件接收返回值要特别注意这一点),其返回状态status则混合了条件判断和参数内的关键字的返回状态。

下面是这个问题的针对性测试:

如果Run Keyword If 以及同类的关键字作为案例最后的执行关键字,如何判定案例执行结果是成功还是失败呢?官方文档对此只字不提,顶多是提到返回值而不是执行结果。

下面做了个实验,把每行单独放在一个案例中,看案例的执行结果是成功还是失败。

(下面的True或Fase可以加也可以不加单引号,不影响逻辑结果识别)


成功的案例:

Run Keyword IfFalse’    Should Be True${3} == ${3}

Run Keyword IfFalse‘    Should Be True${1} == ${3}

Run Keyword IfTrue’    Should Be True${3} == ${3}


失败的案例:

Run Keyword IfTrue‘    Should Be True${1} == ${3}


结论:Run Keyword If走到最右边且最后一步失败了,案例算是失败。否则案例全部算成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值