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

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

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

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

 

前言


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

 

FOR 的栗子


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

image.png


image.png

知识点

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

 

:FOR 旧格式循环的栗子


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

image.png

知识点

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

 

range 的用法


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

image.png

image.png

enumerate 的用法


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

image.png

image.png

知识点

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

 

遍历 Dict 变量


image.png

知识点

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

 

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

image.png

知识点

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

 

退出循环的栗子


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

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

image.png

知识点

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

 

继续循环的栗子


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

  1. Continue For Loop
  2. Continue For Loop If

image.png

相关文章
|
8月前
|
索引
yolov5--detect.py --v5.0版本-最新代码详细解释-2021-6-29号更新
yolov5--detect.py --v5.0版本-最新代码详细解释-2021-6-29号更新
340 0
yolov5--detect.py --v5.0版本-最新代码详细解释-2021-6-29号更新
|
机器人 Python
Robot Framework(12)- 详细解读 RF 的变量和常量(上)
Robot Framework(12)- 详细解读 RF 的变量和常量(上)
655 0
Robot Framework(12)- 详细解读 RF 的变量和常量(上)
|
机器人 Python
Robot Framework(9)- 使用变量文件
Robot Framework(9)- 使用变量文件
333 0
Robot Framework(9)- 使用变量文件
|
机器人 Java 测试技术
Robot Framework(2)- 快速安装
Robot Framework(2)- 快速安装
220 0
Robot Framework(2)- 快速安装
|
XML 机器人 Java
Robot Framework(5)- 使用测试库
Robot Framework(5)- 使用测试库
271 0
Robot Framework(5)- 使用测试库
Cypress系列(97)- end() 命令详解
Cypress系列(97)- end() 命令详解
145 0
Cypress系列(97)- end() 命令详解
|
XML 机器人 Java
Robot Framework(1)- 入门介绍
Robot Framework(1)- 入门介绍
468 0
Robot Framework(1)- 入门介绍
|
机器人
Robot Framework(14)- Variables 表的详细使用和具体例子
Robot Framework(14)- Variables 表的详细使用和具体例子
272 0
Robot Framework(14)- Variables 表的详细使用和具体例子
|
机器人 Python
Robot Framework(11)- 用户关键字的详解
Robot Framework(11)- 用户关键字的详解
246 0
Robot Framework(11)- 用户关键字的详解
|
机器人
Robot Framework(6)- BuiltIn 测试库常用的关键字列表
Robot Framework(6)- BuiltIn 测试库常用的关键字列表
276 0
Robot Framework(6)- BuiltIn 测试库常用的关键字列表