51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1638|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-13 14:36:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按照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/E
LSE 逻辑。例如。我们编写脚本如下:


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


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




3. Set Variable If

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



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



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



对应的执行结果为:



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 00:46 , Processed in 0.064784 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表