robotframework支持FOR循环语句,语法和Python的语法基本相同,但robotframework中,“FOR”关键字前面需要增加一个“:”,写成“:FOR”,其它与Python的语法相同。

1.FOR IN

这种结构,循环的次数由“IN”关键字后面的list变量个数控制。示例如下:

运行结果:

这个例子中,“IN”后面直接写了3个常量,则表示运行三次。每个循环${n}被依次赋予3个常量中的1个。当然“IN”后面也可以写一个List变量,代码修改如下:

效果是一样的。

2.FOR IN RANGE

这种写法更常用一些。“IN RANGE”后面,跟一个整数型的数字的范围。循环的次数受数字的范围控制。示例如下:

运行结果:

从结果我们可以看出,${n}的值从3开始,一直被赋值到4,循环2次。“IN RANGE”后面也可以只写一个数字,表示范围的下限默认是0。示例如下:

运行结果:

以上两种写法,步长默认步长都是1。我们也可以修改步长,示例如下:

运行结果:

这个例子中的步长为10。

3.Exit For Loop  退出循环

RF也提供了退出循环的语句——Exit For Loop。遇到这个语句,脚本将无条件提出循环。示例如下:

运行结果如下:

20190910 16:03:22.890 :  INFO : @{list} = [ ]

20190910 16:03:23.011 :  INFO : Exiting for loop altogether.

20190910 16:03:23.012 :  INFO : [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50]

运行结果如下:

${n}被赋值到4,触发了Exit For Loop语句而推出了循环。

4.Exit For Loop If   满足条件后退出循环

运行结果如下:

20190910 16:03:22.890 :  INFO : @{list} = [ ]

20190910 16:03:23.011 :  INFO : Exiting for loop altogether.

20190910 16:03:23.012 :  INFO : [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50]

运行结果如下:

5.在循环中使用continue,终止单个循环

Continue For Loop If

Continue For Loop

运行结果都如下:

6.For   in enumerate循环

有些时候需要知道当前循环中的循环位置的index编号,此时可以使用FOR index … IN ENUMERATE …关键字。在取index编号时,固定使用 ${index} 作为变量名,例如

运行结果为

7.For in zip 循环

对于有些测试来说,可能会用到多个列表的数据,在循环中需要对这些数据进行组合使用。Robot Framework提供了一个叫做For-in-zip的关键字,该关键字来自于python内置的zip函数,可用于对列表进行组合。例如

这里注意,我们在定义一个列表变量时,可以使用${列表名},也可以使用@{列表名},

而在for-in-zip循环中使用该关键字时,只能使用${列表名}。执行测试用例,结果如下:

RF中for循环的更多相关文章

  1. rf中的条件判断与循环

    条件判断 run keyword if condition name *args ... ELSE IF conditon name *args ...ELSE name *args conditio ...

  2. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  3. RF(For 循环)

    一.介绍:RobotFrameWork 支持 FOR 循环语句,语法和 Python 的语法基本相同,但 RobotFrameWork 中,"FOR" 关键字前面需要增加一个 &q ...

  4. SQL中的循环、for循环、游标

    我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加.修改.删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃 ...

  5. android中无限循环滑动的gallery实例

    android中无限循环滑动的gallery实例 1.点击图片有变暗的效果,使用imageview.setAlpha(),并且添加ontouchListener public void init() ...

  6. shell中的循环

    shell中的循环 for循环 类似于C语言的步长控制 例如: ;i<=;i++)); ); done 将1到10,依次乘以4,然后打印出来. 这里顺便提一下,shell里面表达式的计算,可以有 ...

  7. Oracle PL/SQL中的循环处理(sql for循环)

    今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...

  8. shell中for循环

    shell中for循环总结 最常用的就是遍历操作某一类文件,比如批量建索引. for i in `ls` do samtools faidx $i done 注意:for末尾不需要冒号(:),循环的代 ...

  9. shell中for循环总结

    关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿... 1. for((i=1;i<=10;i++));d ...

随机推荐

  1. 实验吧CTF练习题---WEB---貌似有点难解析

    实验吧web之貌似有点难   地址:http://www.shiyanbar.com/ctf/32 flag值:SimCTF{daima_shengji}   解题步骤: 1.打开题目页面,观察题目要 ...

  2. 搜索入门练习题9 LETTERS 题解

    题目出处:<信息学奥赛一本通>第五章上机练习1 或者 POJ1154 题目描述 给出一个 \(R\times S\) 的大写字母矩阵,一开始你所处的位置在左上角,你可以向上下左右四个方向移 ...

  3. 使用opencv训练分类器时,traincascade训练报错:Train dataset for temp stage can not be filled.解决方法

    opencv分类器训练中,出错一般都是路径出错,例如, 1.opencv_traincascade.exe路径 2.负样本路径文件,neg.dat中的样本前路径是否正确 3.移植到别的电脑并修改完路径 ...

  4. C++11新增容器以及元组

    上次说了C++11的部分新特性,这里我们来说说新增的容器. unordered_map unordered_set unordered_multimap unordered_multiset arra ...

  5. Genymotion模拟器的安装及脚本制作

    在上一篇博文中,讲到这一篇会介绍Genymotion的安装方式.大家都知道,Genymotion是一个模拟器,获取会质疑了,直接连接真机就好了,为何还要配置模拟器?我也是用真机实践后,才选择安装的模拟 ...

  6. Python基础(十)

    今日主要内容 补充:传参与参数分配区别 动态传参 函数注释 名称空间 函数名的使用 函数嵌套 global和nonlocal 补充:传参与参数分配区分 先看一个函数定义和函数调用 def func(a ...

  7. java接收控制台输入

    java控制台输入语句: Scanner sc = new Scanner(System.in); 通过一个变量,例如 int r; r = sc.nextInt();   例子: public st ...

  8. [PySpark] 01 - Preview parquet files in S3 ×××

    本系列基于实际测试数据,质量保证,不自欺欺人. 实践是检验真理的唯一标准. Swipejobs is all about matching Jobs to Workers. Your challeng ...

  9. Android MediaPlayer 音频倍速播放,调整播放速度

    本文链接: Android MediaPlayer 倍速播放,调整播放速度 现在市面上的很多音视频App都有倍速播放的功能,例如把播放速度调整为0.5.1.5.2倍等等. 从Android API 2 ...

  10. 【linux】查看系统内存占用

    1.查看内存情况 free -h 解释下基本概念 Mem 内存的使用信息Swap 交换空间的使用信息total 系统总的可用物理内存大小used 已被使用的物理内存大小free 还有多少物理内存可用s ...