1.普通的For循环

在一个普通的For循环中,循环开始的关键字是 :FOR ,其中的:用于与一般关键字做区分,对于循环结构体内的每一行,使用 \ 作为改行的行首关键字。对于循环中的变量,可以在 IN 关键字后给出所有变量,也可以从一个列表中进行赋值,每次循环从列表中取出一个值。例如:

1)给出所有变量

2)从列表中进行赋值

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

2.嵌套循环

Robot Framework本身并不支持直接使用嵌套循环,但是可以通过在一个循环结构中使用另一个包含有循环结构的关键字来实现。例如

在使用时,调用Handle Table,Handle Table再调用内层循环Handle Row,从而实现嵌套循环的目的。

3.For-in-range循环

除了针对序列的循环之外,有些时候还需要能够进行特定迭代次数的循环。Robot Framework中通过1)只使用数据上限

只使用数据上限时,数据从0开始,每次+1,数据从0直到指定数据,但不包含该数据。例如:

输出结果为0、1、2、3、4、5、6、7、8、9,数据从0开始至9结束,输出结果不包含10.

 

2)使用开始和结束数据

使用开始和技术数据时,数据从“开始数据”开始,每次+1,至“结束数据”结束,但不包含结束数据。例如:

输出结果为2、3、4、5、6、7、8、9、10,数据从2开始至10结束,输出结果不包含11.

 

3)使用开始、结束、步长

使用 开始、结束、步长 时,数据从“开始数据”开始,每次+“步长数据”,至“结束数据”结束,但不包含结束数据。例如:

输出结果为2、5、8,数据从2开始至11结束,每次累加3,输出结果不包含11.

 

4.For-in-enumerate循环

有些时候需要知道当前循环中的循环位置的index编号,此时可以使用

运行结果为

 

5.多变量循环

与Python中的for循环类似的是,当列表中的变量数量可以被一定数量整除时,可以直接使用等于该数量的变量做循环。例如

 

6.For-in-zip 循环

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

这里注意,我们在定义一个列表变量时,可以使用${列表名},也可以使用@{列表名},而在for-in-zip循环中使用该关键字时,只能使用${列表名}。执行测试用例,结果如下:

 

7.跳出循环

一般来说一个循环结构的用例需要遍历完所有数据后再退出。某些情况下,需要提前终止并跳出循环时,可以使用Exit For Loop 或者 Exit For Loop If。例如

或是使用

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

 

8.在循环中使用continue

有些时候,需要在循环中使用continue来跳过循环结构体中的某些过程。在Robot Framework中,可以使用Continue For Loop 或者 Continue For Loop If。具体用法与跳出循环时的Exit用法一致,这里不再做演示。

 

9.重复执行单一关键字

某些情况下,循环结构可能只需要对一个关键字做执行次数的循环。Robot Framework提供了一个关键字Repeat Keyword,只需指明循环次数和循环中的关键字即可。而在描述循环次数时,有时为了让测试用例易于理解,可以在次数后面添加一个times 或 x 例如:

Robot Framework使用For循环的更多相关文章

  1. Robot Framework学习笔记(三)------常用关键字介绍

    下面关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库.Builtin库提供常用的关键字 1.log log 关键字就是编程语言里的"prin ...

  2. Robot framework(RF) Builti,Screenshot和Collections标准库介绍

    1.1  Builti标准类库 在学习一门编程语言的时候,大多教材都是从打印“hello world”开始.我们可以像编程语言一样来学习Robot Framework.虽然通过RIDE 提供“填表”一 ...

  3. Robot Framework常用关键字介绍

    常用关键字介绍 在学习一门编程语言的时候,大多教材都是从打印“hello world”开始.我们可以像编程语言一样来学习 Robot Framework.虽然通过 RIDE 提供“填表”一样的写测试用 ...

  4. Robot Framework操作

    Robot Framework 介绍 RobotFramework是一款基于python的开源自动化测试框架,遵守Apache License 2.0协议,在此协议下所有人都可以免费开发和使用.因为R ...

  5. Robot Framework 教程 (7) - 使用For循环

    在自动化测试过程中,使用For循环来对某个动作进行重复操作是很普遍的行为.在Robot Framework中,各种测试库中均提供了多种方式的For循环结构,在其中覆盖了大部分类型的循环类型.而Robo ...

  6. Robot Framework(13)- RF 循环的详细使用

    如果你还想从头学起Robot Framework,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1770899.html 前言 RF用   ...

  7. Robot Framework自动化测试 ---视频与教程免费分享

    当我第一次使用Robot Framework时,我是拒绝的.我跟老大说,我拒绝其实对于习惯了代码的自由,所以讨厌这种“填表格”式的脚本.老大说,Robot Framework使用简单,类库丰富,还可以 ...

  8. 2小时入门Robot Framework

    1.介绍 1.1.介绍Robot Robot Framework是一个基于关键字驱动的自动化测试框架.通过该框架,测试人员可使用python封装关键字,并在非代码环境下使用关键字构建可被执行的测试用例 ...

  9. Robot Framework自动化测试(三)---Selenium API

    Robot  Framework  Selenium  API 说明: 此文档只是将最常用的UI 操作列出.更多方法请查找selenium 关键字库. 一.浏览器驱动 通过不同的浏览器执行脚本. Op ...

随机推荐

  1. 3728 联合权值[NOIP 2014 Day1 T2]

    来源:NOIP2014 Day1 T2 OJ链接: http://codevs.cn/problem/3728/ https://www.luogu.org/problemnew/show/P1351 ...

  2. <转>房租分配问题

    本文转自:https://blog.codingnow.com/2012/12/share_rent.html 今天读到策划同学的周报中提到的一个关于合租房子的分摊房租问题. 引用周报中的一节如下: ...

  3. 【Spark 深入学习-08】说说Spark分区原理及优化方法

    本节内容 ------------------ · Spark为什么要分区 · Spark分区原则及方法 · Spark分区案例 · 参考资料 ------------------ 一.Spark为什 ...

  4. C# 创建 读取 更新 XML文件

    public static class XmlHelper { /// <summary> /// 读取节点值 /// </summary> /// <param nam ...

  5. Hadoop 2.x 安装常见问题FAQ(一) NodeManager 无法启动问题解决

    一.问题描述 在搭建 Hadoop hadoop-2.4.1 集群的最后一步启动集群,在命令窗口并没有报任何错误,但是Slave 节点的 NodeManager进程始终启动不起来.随后查看了后台启动日 ...

  6. PaaS 应用引擎

    这里主要是梳理一下应用引擎(XXXX App Engine),它一般被归类到PaaS领域.应用引擎即提供了各种编程语言开发的应用所需的一整套运行环境:它开箱即用,你只需部署应用的代码即可,无需前期的环 ...

  7. Ubuntu和centos离线安装软件包(apt和yum)

    linux安装软件包要解决包依赖问题,不能简单安装包本身. 离线安装基本思想都是先在一台设备上安装下载所有依赖包,然后拷贝所有依赖包到新设备上安装. Ubuntu下apt离线安装包 执行apt upd ...

  8. vue项目在安卓低版本机显示空白原因

    vue项目在安卓低版本机显示空白原因: 可能的原因一: 查看安卓debug,报错,可能有箭头函数语法错误,或者其他语法问题,那可能是ES6语法问题. 这时候需要安装babel-pollyfill. 网 ...

  9. Android异步处理系列文章四篇之二 使用AsyncTask异步更新UI界面

    Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Loope ...

  10. [Laravel] 07 - Project: functions in Controller

    故事背景 一.项目预览 From: https://www.imooc.com/video/12521 表单操作 一.新增信息 既然是操作,自然会想到:控制器. 控制器  [1] 路由 ----> ...