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. 【UEFI】---BIOS中UserPassword的重复校验总结

    UEFI作为目前较为流行的一套X86架构初始化的标准框架,已受到业界内的广泛认可.而其中很多编程所采用的思想确实值得学习.今天总结下UEFI的框架下修改代码的一点小经验,仅供菜鸟参考. 先列干货,具体 ...

  2. Docker入门到实践——简单操作

    1.对比传统虚拟机总结 特性 容器 虚拟机 启动 秒级 分钟级 硬盘使用 一般为MB 一般为GB 性能 接近原生 弱于 系统支持量 单机支持上千个容器 一般几十个 2.基本概念 Docker包括三个基 ...

  3. Java测试(二)

    一.选择题(每题2分,共40分) 1.下面哪个是Java语言中正确的标识符(C ) a)      3com        b)import        c)that d)this 2.下面哪个语句 ...

  4. CTC安装及其错误解决办法:binding.cpp:92:49: error: cannot convert ‘THCudaTensor*’ to ‘const THFloatTensor*’ for argument ‘1’ to ‘int64_t THFloatTensor_size(const THFloatTensor*, int)’

    CTC安装: 1. 在终端执行命令:git clone https://github.com/SeanNaren/warp-c) (效果如下图,大家不用管我前面括号的内容,那是我打开的虚拟环境) 2. ...

  5. linux 操作系统级别监控 df 命令

    df命令可以查看当前系统磁盘空间的使用情况 命令:df -h du -sh * 查看目录文件暂用磁盘大小 如果磁盘空间不够,需清理磁盘 磁盘速度测试,如果磁盘性能不好,性能测试数据会不准确(读写速度) ...

  6. Day 19 磁盘管理

    1.磁盘的基本概念 1.什么是磁盘 磁盘(disk)是指利用磁记录技术存储数据的存储器. 磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失. *绝大多数人对硬盘都不陌 ...

  7. PTA A1005&A1006

    第三天 A1005 Spell It Right (20 分) 题目内容 Given a non-negative integer N, your task is to compute the sum ...

  8. Python连载39-生成器、next函数、yield返回值

    ​一.生成器 1.定义(generator):一边循环一边计算下一个元素的机制/算法 2.满三个条件 (1)每次调用都能产生出for循环需要的下一个元素 (2)如果达到最后一个后,能够爆出StopIt ...

  9. C++基础之动态内存

    C++支持动态分配对象,它的生命周期与它们在哪里创建无关,只有当显示的被释放时,这些对象才会被销毁.分配在静态或栈内存中的对象由编译器自动创建和销毁. new在动态内存中为对象分配空间并返回一个指向该 ...

  10. 第四周 Java课件内容动手动脑

    1.JDK中的Math类 package ke1; public class TestMath { public static void main(String[] args) { /*------- ...