Robot Framework 教程 (6) - 使用条件表达式
本篇文章,主要对如何在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的脚本

运行,并查看测试结果,此时,“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循环表达式。下一章,将对循环表达式做介绍。
Robot Framework 教程 (6) - 使用条件表达式的更多相关文章
- Robot FrameWork 教程链接
1. Robot Framework 教程: http://cgmblog.sinaapp.com/html/category/robot-framework 2. Robot Framework ...
- Robot Framework 教程 (3) - Resource及关键字 的使用
From:http://www.cnblogs.com/buaawp/p/4754399.html Robot Framework 教程 (3) - Resource及关键字 的使用 在进行软件自动化 ...
- Robot Framework 教程 (5) - 连接Oracel数据库
Robot Framework 提供了多种Library.其中Database Library可用来连接操作数据库. 1.安装Database Library 打开Robot Framework官网, ...
- Robot Framework 教程 (2) - 页面元素定位
上一篇文章中,简单模拟了一个baidu搜索并截图的过程,在搜索过程中,我们需要对搜索框.搜索按钮进行定位.本篇文章主要介绍一下具体的定位方法. 我们的脚本如下: *** Settings *** Li ...
- Robot Framework 教程 (7) - 使用For循环
在自动化测试过程中,使用For循环来对某个动作进行重复操作是很普遍的行为.在Robot Framework中,各种测试库中均提供了多种方式的For循环结构,在其中覆盖了大部分类型的循环类型.而Robo ...
- Robot Framework 教程 (1) - 环境配置及简单网站兼容性测试
0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...
- robot framework教程-------虫师
http://www.testclass.net/2017/09/28/happy-holidays/
- Robot Framework 教程 (4) - 自定义Library
RobotFrame Work为我们提供了包括OS.Android.XML.FTP.HTTP.DataBase.Appium.AutoIt.Selenium.Watir等大量的库.在使用过程中,除这些 ...
- Robot Framework 入门教程总结
Robot Framework 作为一款通用测试框架,可加载多种测试库.驱动多种测试工具,并可对各种自定义脚本进行集成.对于Robot Framework,我准备将其分为 入门--Robot Fram ...
随机推荐
- 2017-2018-2 《网络对抗技术》20155322 Exp6 信息搜集与漏洞扫描
[-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实践过程 2.1-Google hacking & ZoomEye 2.2-DNS.IP信息收 ...
- linux java jdk环境变量设置之后,依旧提示 No such file or directory
今天又默默的在linux下安装java 明明是很简单的事情,在~/.bashrc中添加如下内容: export JAVA_HOME=/home/ubuntu/jdkexport CLASSPATH=. ...
- mfc this指针
知识点 this指针 this指针使用 一.this指针 this指针可以看成是实例化对象的地址.在类成员函数里访问成员变量,其实也隐含使用了this指针. 在 Tdate中this->相当于T ...
- jQuery学习-鼠标事件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【HNOI2013】比赛
题面 题解 \(n \leq 9 \to\)爆搜 对每一场的结果进行搜索,最后进行\(\mathrm{check}\) 然后会发现没有什么分 搜索最重要的就是剪枝 接下来就列出一些剪枝 搜索时,强制每 ...
- iOS开发-通过正则表达式判断字符串是否为纯阿拉伯数字
iOS开发-通过正则表达式判断字符串是否为纯阿拉伯数字 简述:NSString * regex_0 = @"\\d{1,}"; /*允许首位为0*/ NSString * re ...
- Hbase第五章 MapReduce操作HBase
容易遇到的坑: 当用mapReducer操作HBase时,运行jar包的过程中如果遇到 java.lang.NoClassDefFoundError 类似的错误时,一般是由于hadoop环境没有hba ...
- 如何用python获取文件中的某一行——python小技巧
很多人有的时候只需要获取文章中的固定的一行,那么我知道这一行,我需要怎么样去获取呢 可能会有人说读取这一行,如果这一行是已什么开头的就读出来, 其实还有一种办法,就是我知道文件的路径.知道我要取的行数 ...
- lua编程之协程介绍
一,lua协程简介 协程(coroutine),意思就是协作的例程,最早由Melvin Conway在1963年提出并实现.跟主流程序语言中的线程不一样,线程属于侵入式组件,线程实现的系统称之为抢占式 ...
- 修复bug有哪些更快的技术?做好这6点就够了
你有没有想过为什么有时修复错误似乎比它应该花费更长的时间?当你终于找到问题时,事实证明你所需要的只是一个小小的改变.然而,花了很多时间才能找到正在发生的事情.这种情况比我想象的更频繁. 另一方面,当您 ...