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