您的位置:首页 > 其它

Robot Framework 教程 - 使用条件表达式

2016-05-29 15:34 169 查看
按照Robot Framework的官方文档介绍,Robot Framework并不建议在TestCase或Keyword的编写中使用条件表达式,应为这样做会使TestCase变得难以理解。它提倡的是将逻辑过程写在自定义的Test Library中,之后再执行Test Library中的方法,并获取其执行结果。尽管如此,RobotFramework还是提供了一些Keyword可以用于条件判断。

1. Run Keyword

Run Keyword可以将一个关键字作为一个参数,并执行该关键字,同时,该关键字可以是从之前的内容中动态获取的变量。举例来说。

我们在自定义的MyLibrary.py库中,增加一个方法,用于进行条件判断,并返回结果。

def get_result(self,arg):
if int(arg) > 0:
return 'LOG'
else:
return 'FAIL'


建立TestSuite“IF测试”,建立TestCase“Run_Keyword”,引用MyLibrary.py,编写脚本。

1)编写输入数据>0的脚本



运行,并查看测试结果,此时,“Log”作为“Get Result”的返回结果,赋值给了${key},并在Run Keyword时被执行



2)编写输入数据=0的脚本



运行,并查看测试结果,此时,“Fail”作为“Get Result”的返回结果,赋值给了${key},并在Run Keyword时被执行



2. Run Keyword If / Run Keyword Unless

Run Keyword If 和 Run Keyword Unless 当满足条件表达式要求时,执行指定关键字。可以用于简单的IF/ELSE 逻辑。例如。我们编写脚本如下:



其中 … 用于语句分段。运行测试用例,执行结果为:



对应的Run Keyword Unless的用例及执行结果为:





3. Set Variable If

Set Variable If用于根据表达式,动态的设置变量值。我们编写脚本如下:



执行测试用例,执行结果为:



以上的方法可以用于做if/else简单分支的逻辑处理,对于存在else if等情况时,可以采用如下方法:



对应的执行结果为:



本篇文章,主要对Robot Framework中的条件分支表达式做了介绍。在进行逻辑控制时,与条件分支表达式同样重要的是For循环表达式。下一章,将对循环表达式做介绍。

原文链接:http://leettest.com/blog/10/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RF 自动化测试