如果你还想从头学起Robot Framework,可以看看这个系列的文章哦!

https://www.cnblogs.com/poloyy/category/1770899.html

前言

  • RF用  :FOR 或 FOR 来实现循环,没有 While 循环
  • :FOR 是过时的循环写法,建议写 FOR
 

FOR 的栗子

忽略爆红,因为新的 FOR 关键字,插件还不能识别

测试结果

知识点

  • 如果  IN 后面跟的是一个 List 变量,必须用 @{list} 的格式哦!
  • 循环体内的语句需要缩进两个空格以上
  • 如果 IN 后面接的值太多,可以换行,需要通过 ... 来表示接着上一行的内容
  • 注意:  FOR  和  IN 都不能小写哦

:FOR 旧格式循环的栗子

可以看到没爆红啦,因为插件只支持旧格式...

测试结果

知识点

  • 和 FOR 不同,不需要在循环结束后写 END
  • 但重点来了:循环体内,每一行开头都需要写 \ 【因为在RF 3.2 中, :FOR  不再起作用,如果要支持旧格式,就需要 \ 进行转义
  • 注意::FOR 可以小写,但是 IN 不可以(官网说 IN 也可以小写,但是试了一遍不可以哦)

range 的用法

在Python 中,我们有常用的  range() 方法,RF 也有类似的用法

测试结果

enumerate 的用法

在 Python 中,有 enumerate() 函数,遍历列表时可以追踪每个元素的索引位置;在 RF 中通过 IN ENUMERATE 关键字来实现类似的效果

测试结果

知识点

  • IN ENUMERATE 是连在一起用的哦,中间最多一个空格,并且是大小写敏感的,不可以写成小写!
  • 使用 IN ENUMERATE ,需要用单独的一个变量去接住索引值,如 ${index}
  • 如果只用一个变量的话(如第三个栗子),那么每次循环返回的就是一个列表,第一个元素就是索引值,可以通过下标 [0] 去获取;后面的值就是列表的值

遍历 Dict 变量

测试结果

知识点

  • 循环 Dict 变量时,可以通过 ${key} 和 ${value} 分别获取每次循环的键和值
  • IN ENUMERATE 也可以获取键值对的索引值,但起始值是 1

栗子二:只用一个 ${item} 来获取键值对

测试结果

知识点

  • 如果只用一个 ${item} 变量来获取键值对的话,它将是一个键值对列表(只有两个值), ${item}[0] 是键, ${item}[1] 是值
  • 再加上 IN ENUMERATE 的话,它就是一个索引+键值对列表(有三个值), ${item}[0] 是索引值

退出循环的栗子

相当于 Python 里面的  break ;退出循环有两个关键字

  1. exit for loop:强制退出循环
  2. exit for loop if:有条件的退出循环

测试结果

知识点

  • 如果要使用 exit for loop  时,我们可以借助 run keyword if 或者 run keyword unless
  • 凡是关键字有  if ,它后面可以直接跟判断表达式

继续循环的栗子

相当于 Python 里面的  continue ;继续循环有两个关键字

  1. Continue For Loop
  2. Continue For Loop If

测试结果

Robot Framework(13)- RF 循环的详细使用的更多相关文章

  1. Robot Framework使用For循环

    1.普通的For循环 在一个普通的For循环中,循环开始的关键字是 :FOR ,其中的:用于与一般关键字做区分,对于循环结构体内的每一行,使用 \ 作为改行的行首关键字.对于循环中的变量,可以在 IN ...

  2. Robot framework(RF)学习基础

    1.框架特点 2.安装 3.基本内容 RF框架是通用的测试框架,一直由诺西网络维护. 易于使用 采用表格法 可以使用关键字驱动,数据驱动和行为驱动开发完成.(keyword-driven,data-d ...

  3. Robot Framework:RF中对时间操作的datetime库常用关键字

    [转自:http://blog.csdn.net/r455678/article/details/52993765] 1.对固定日期进行操作,增加或减去单位时间或者时间段 2.对两个时间段进行操作 3 ...

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

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

  5. 【Robot Framework】---- Robot Framework简介、特点、RIDE

    Robot Framework简介.特点.RIDE 一.简介.特点. Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型 ...

  6. Robot Framework操作

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

  7. Robot Framework与Web界面自动化测试学习笔记:简单例子

    假设环境已经搭建好了.这里用RIDE( Robot Framework Test Data Editor)工具来编写用例.下面我们对Robot Framework简称rf. 我们先考虑下一个最基本的登 ...

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

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

  9. Robot Framework常用关键字介绍

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

随机推荐

  1. The 2019 Asia Nanchang First Round Online Programming Contest B Fire-Fighting Hero(阅读理解)

    This is an era of team success, but also an era of heroes. Throughout the ages, there have been nume ...

  2. P1495 CRT,P4777 EXCRT

    updata on 2020.4.11 修正了 excrt 的一处笔误 CRT 求解方程: \[\begin{cases} x \equiv a_1 \pmod {m_1}\\ x \equiv a_ ...

  3. postman(断言)

    一.断言 1.Code is 200 断言状态码是200 2.contains string 断言respoonse body中包含string 3.json value check (检查JSON值 ...

  4. ubuntu 15.04 的安装遇到的问题及其解决方法

    在Ubuntu15.04 的安装(U盘)中 遇到的问题1:安装后设置电脑从U盘启动,启动失败,屏幕上显示:Failed to load ldlinux.c32 解决方法:当时是参考这篇文章 http: ...

  5. 【原创】Linux Mutex机制分析

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  6. Python爬虫(三)爬淘宝MM图片

    直接上代码: # python2 # -*- coding: utf-8 -*- import urllib2 import re import string import os import shu ...

  7. CentOS安装boost

    安装其实很简单的: tar zxvf boost_1_59_0.tar.gz cd boost_1_59_0 ./bootstrap.sh --prefix=/usr/local/boost ./b2 ...

  8. GCRoots

    JVM面试汇总 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots 什么是垃圾 简单来说就是内存中已经不再被使用的空间就是垃圾 如何判断一个对象是否可以被回收 引用计数法 Java中,引 ...

  9. Redis 到底是单线程还是多线程?我要吊打面试官!

    最近在Java技术栈公众号发布的一篇文章,其中有一道题: Redis是多线程还是单线程?(回答单线程的请回吧,为什么请回,请往下看) 好些粉丝在后台问我:为什么请回,Redis不是单线程吗? 大家注意 ...

  10. 使用ramdisk启动ubuntu文件系统

    环境 Qemu 4.1 vexpress-ca9 概述 为了减小linux内核的大小,可以把一些外设驱动编译成内核模块,但是在启动ubuntu的时候,需要读取flash,但是此时flash的驱动模块存 ...