51Testing软件测试论坛
标题:
Robot Framework 教程 - 使用条件表达式
[打印本页]
作者:
一月蔷薇_456
时间:
2018-4-13 14:36
标题:
Robot Framework 教程 - 使用条件表达式
按照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的脚本
[attach]113446[/attach]
运行,并查看测试结果,此时,“Log”作为“Get Result”的返回结果,赋值给了${key},并在Run Keyword时被执行
[attach]113447[/attach]
2)编写输入数据=0的脚本
[attach]113448[/attach]
运行,并查看测试结果,此时,“Fail”作为“Get Result”的返回结果,赋值给了${key},并在Run Keyword时被执行
[attach]113449[/attach]
2. Run Keyword If / Run Keyword Unless
Run Keyword If 和 Run Keyword Unless 当满足条件表达式要求时,执行指定关键字。可以用于简单的IF/E
LSE 逻辑。例如。我们编写脚本如下:
[attach]113450[/attach]
其中 … 用于语句分段。运行测试用例,执行结果为:
[attach]113451[/attach]
对应的Run Keyword Unless的用例及执行结果为:
[attach]113452[/attach]
[attach]113453[/attach]
3. Set Variable If
Set Variable If用于根据表达式,动态的设置变量值。我们编写脚本如下:
[attach]113454[/attach]
执行测试用例,执行结果为:
[attach]113455[/attach]
以上的方法可以用于做if/else简单分支的逻辑处理,对于存在else if等情况时,可以采用如下方法:
[attach]113456[/attach]
对应的执行结果为:
[attach]113457[/attach]
本篇文章,主要对Robot Framework中的条件分支表达式做了介绍。在进行逻辑控制时,与条件分支表达
式同样重要的是For循环表达式。下一章,将对循环表达式做介绍。
作者:
梦想家
时间:
2018-5-9 16:32
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2