专栏首页自动化、性能测试Robot Framework(13)- RF 循环的详细使用

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

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

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

前言

  • RF用 或 FOR 来实现循环,没有 While 循环

:FOR

  • 是过时的循环写法,建议写 FOR

:FOR

FOR 的栗子

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

测试结果

知识点

  • 如果 后面跟的是一个 List 变量,必须用 @{list} 的格式哦!

IN

  • 循环体内的语句需要缩进两个空格以上
  • 如果 IN 后面接的值太多,可以换行,需要通过 来表示接着上一行的内容

...

  • 注意: 和 IN 都不能小写哦

FOR

:FOR 旧格式循环的栗子

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

测试结果

知识点

  • 和 不同,不需要在循环结束后写 END

FOR

  • 但重点来了:循环体内,每一行开头都需要写 【因为在RF 3.2 中, :FOR 不再起作用,如果要支持旧格式,就需要 \ 进行转义

\

  • 注意: 可以小写,但是 IN 不可以(官网说 IN 也可以小写,但是试了一遍不可以哦)

:FOR

range 的用法

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

测试结果

enumerate 的用法

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

测试结果

知识点

  • 是连在一起用的哦,中间最多一个空格,并且是大小写敏感的,不可以写成小写!

IN ENUMERATE

  • 使用 ,需要用单独的一个变量去接住索引值,如 ${index}

IN ENUMERATE

  • 如果只用一个变量的话(如第三个栗子),那么每次循环返回的就是一个列表,第一个元素就是索引值,可以通过下标 去获取;后面的值就是列表的值

[0]

遍历 Dict 变量

测试结果

知识点

  • 循环 Dict 变量时,可以通过 和 ${value} 分别获取每次循环的键和值

${key}

  • 也可以获取键值对的索引值,但起始值是 1

IN ENUMERATE

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

测试结果

知识点

  • 如果只用一个 变量来获取键值对的话,它将是一个键值对列表(只有两个值), {item}[0] 是键, {item}[1] 是值

${item}

  • 再加上 的话,它就是一个索引+键值对列表(有三个值), ${item}[0] 是索引值

IN ENUMERATE

退出循环的栗子

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

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

测试结果

知识点

  • 如果要使用 时,我们可以借助 run keyword if 或者 run keyword unless

exit for loop

  • 凡是关键字有 ,它后面可以直接跟判断表达式

if

继续循环的栗子

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

  1. Continue For Loop
  2. Continue For Loop If

测试结果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Cypress系列(24)- 操作页面元素的命令

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

    小菠萝测试笔记
  • Selenium常见报错问题(3)- 解决和分析NoSuchElementException

    如果你在跑selenium脚本时,需要某些异常不知道怎么解决时,可以看看这一系列的文章,看看有没有你需要的答案

    小菠萝测试笔记
  • Cypress系列(25)- submit() 命令详解

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

    小菠萝测试笔记
  • 构建 EOS 区块链浏览器 API

    在上一篇 文章 中笔者讲解了如何将 EOS 链上数据实时异构到 MySQL 数据库。数据既然有了,就要有用武之地。传统互联网获取数据的方式,最底层是数据层,然后...

    robinwen
  • 学界 | 最小二乘GAN:比常规GAN更稳定,比WGAN收敛更迅速

    选自Github 机器之心编译 参与:蒋思源 近来 GAN 证明是十分强大的。因为当真实数据的概率分布不可算时,传统生成模型无法直接应用,而 GAN 能以对抗...

    机器之心
  • 云巨头决战混合云 新一轮产业竞争爆发

    在火热的7月,混合云也火起来了。先是,中国电信云公司宣布与VMware合作向市场推出混合云服务;接着,阿里云公司宣布与浪潮合作共同推进智慧城市,目标也是混合云。...

    静一
  • 脚本刷课思路-1

    闲来无事,看了一下后台文章的阅读数据,发现随便乱写的 验证码绕过居然是历史最高的阅读,惊了,我也不知道是对验证码绕过有兴趣,还是对刷课的方法有兴趣

    Elapse
  • Centos7安装时遇到的问题及解决方法

    Centos 是用U盘启动器安装的,如果是第一次安装Linux 系统,建议OS使用中文语言安装。安装过程比较简单,再这里只是记录下安装后遇到的一些问题。

    云雀叫了一整天
  • iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON

    视频地址:https://www.cctalk.com/v/15114923886141 JSON 数据 我颠倒了整个世界,只为摆正你的倒影。 前面的文章中,...

    iKcamp
  • 【nodeJS爬虫】前端爬虫系列 -- 小爬「博客园」

    Sb_Coco

扫码关注云+社区

领取腾讯云代金券