如果你还想从头学起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

测试结果

最新文章

  1. jquery中的ajax参数说明
  2. c#利用泛型集合,为自己偷偷懒。
  3. C之按位运算符
  4. pure virtual function call
  5. 【翻译】hololens入门
  6. 异常:Message 850 not found; No message file for product=network, facility=NL解决方案
  7. Djang DJANGO_SETTINGS_MODULE
  8. python 解析 配置文件
  9. NOI2014 Day2
  10. 深度学习之tensorflow (一)
  11. ubuntu下boost编译安装
  12. 简述at和crontab命令
  13. kubernetes ceph-rbd挂载步骤 类型PersistentVolume
  14. Codeforces 1009G Allowed Letters FMT,二分图,二分图匹配,霍尔定理
  15. NOIP2018 前流水账
  16. 用vlan实现同一网段的的各部门之间有的可以通信有的不可以通信
  17. .NetCore关于Cap(RabbitMQ)结合MySql使用出现MySql相关类冲突问题解决办法
  18. where常用运算符
  19. HDU 2476 String painter(区间DP)
  20. 空行会影响 Java 编译吗?

热门文章

  1. STL学习心得
  2. LeetCode 25. K 个一组翻转链表 | Python
  3. HTML(表格标签)
  4. python(logging 模块)
  5. git的下载与安装
  6. 虚拟机部署单机版kubernetes,minikube,docker
  7. LeetCode--Squares of a Sorted Array && Robot Return to Origin (Easy)
  8. 常用中文分词工具分词&词性标注简单应用(jieba、pyhanlp、pkuseg、foolnltk、thulac、snownlp、nlpir)
  9. 安卓集成Unity开发示例(一)
  10. python 基础知识3-列表元祖