当前位置: 首页 > news >正文

RobotFramework流程控制(最新版本)

文章目录

    • 一 分支流程
      • 1. 关键字:Run Keyword If
      • 2. 关键字:IF/ELSE
      • 3. 嵌套IF/ELSE
      • 4. 关键字:Set Variable If
    • 二 循环流程
      • 1. 普通FOR循环
      • 2. 嵌套FOR循环
      • 3. 退出循环
      • 4. 其它常用循环

一 分支流程

1. 关键字:Run Keyword If

  Run Keyword If关键字是RF在4.0版本之前用于控制分支流程的一个常用关键字,在4.0版本RF引入了IF/ELSE,可能以后就使用IF/ELSE替代Run Keyword If了,现在最新版本6.1还是同时支持Run Keyword If和IF/ELSE的。
Run Keyword If 的语法如下

Run Keyword If    条件    动作
...    ELSE IF    条件    动作
...    ELSE If    条件    动作
...    ...        ...     ...
...    ELSE    动作

要注意的是ELSE IF和ELSE 一定要大写
示例如下

在这里插入图片描述
在这里插入图片描述

2. 关键字:IF/ELSE

  IF/ELSE是RF在4.0版本引入的一个控制分支流程的关键字,它的作用同Run Keyword If一样,但比Run Keyword If简洁。它的语法如下

IF    条件    动作
...   ELSE IF    条件    动作
...   ELSE IF    条件    动作
...   ...        ...     ...
...   ELSE    动作

其中要注意的是ELSE IF和ELSE 也要大写
示例如下
在这里插入图片描述
在这里插入图片描述

  IF/ELSE还有一种用法,就是当IF后面没有接ELSE IF或ELSE时,IF后面要接END,即IF/ELSE变成IF/END,如下
在这里插入图片描述
在这里插入图片描述

目前6.1版本ELSE IF和ELSE后面的关键好像不会高亮显示,但是IF/END后面的关键字会高亮显示,简单的逻辑就用IF/END吧。

3. 嵌套IF/ELSE

  RF在4.0版本以前用Run Keyword If来控制分支流程的时候是不支持IF嵌套的,在引入了IF/ELSE后才支持的IF嵌套。IF嵌套示例如下
在这里插入图片描述
在这里插入图片描述

4. 关键字:Set Variable If

  Set Variable If也是RF中比较常用的If关键字,用来在满足条件判断下给变量赋值。
Set Variable If 语法如下

Set Variable If    条件    值

使用示例:
在这里插入图片描述
在这里插入图片描述

二 循环流程

1. 普通FOR循环

  最新版本RF中的FOR循环用关键字FOR替代了以前的 :FOR,其格式越来越和python类似了。FOR循环语法如下

FOR    ${item}    IN    遍历对象keyword
END

其中要注意的是在遍历列表或字典对象的时候要用 @{list} 或者 &{dict},示例如下
在这里插入图片描述
在这里插入图片描述

2. 嵌套FOR循环

  在RF6.1版本已经可以实现FOR嵌套循环(具体在哪个版本引入的暂还不知道),有了嵌套的FOR循环,在编写RF的时候就会更加得心应手。
语法就是两个FOR循环嵌套,如下
在这里插入图片描述
在这里插入图片描述

3. 退出循环

  在RF5.0版本之前结束整个循环用的是关键字Exit For LoopExit For Loop If;结束本次循环用的是关键字Continue For LoopContinue For Loop If,而在RF5.0版本后分别用BREAKCONTINUE来替换前面的关键字。如下

  • 退出整个循环Exit For Loop,Exit For Loop If和BREAK
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 退出本次循环Continue For Loop,Continue For Loop If和CONTINUE
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    其中要注意的是:BREAK,CONTINUE必须大写

4. 其它常用循环

  除了标准的FOR循环外,还有一些比较常用的其它FOR循环,如下

  • FOR…IN RANGE循环
    语法:
FOR    ${item}    IN RANGE    start  end  stepkeyword
END

它的效果其实和python中的for…in range()效果是一致的,如下
在这里插入图片描述
在这里插入图片描述

  • FOR…IN ENUMERATE循环
    语法:
FOR    ${index}    ${value}    IN ENUMERATE    操作对象keyword
END

它的效果其实和python中的for…in enumerate()效果是一致的,如下
在这里插入图片描述
在这里插入图片描述

  • FOR…IN ENUMERATE循环
    语法:
FOR    ${index}    ${value}    IN ZIP   操作对象1    操作对象2    keyword
END

它的效果其实和python中的for…in zip()效果是一致的,如下
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/182538.html

相关文章:

  • win11 好用的 快捷方式 --chatGPT
  • 在大数据相关技术中,HBase是个分布的、面向列的开源数据库,是一个适合于非结构化数据存储的数据库。
  • 910数据结构(2020年真题)
  • MyBatisPlus(八)范围查询
  • 【day10.04】QT实现TCP服务器客户端搭建的代码
  • milvus 结合Thowee 文本转向量 ,新建表,存储,搜索,删除
  • GEO生信数据挖掘(三)芯片探针ID与基因名映射处理
  • 力扣 -- 96. 不同的二叉搜索树
  • 经典算法-枚举法(百钱买百鸡问题)
  • Gurobi设置初始可行解
  • Zabbix配置监控文件系统可用空间小于30GB自动告警
  • 进程调度算法之先来先服务(FCFS),短作业优先(SJF)以及高响应比优先(HRRN)
  • MyBatisPlus(九)模糊查询
  • Spring 原理
  • 基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)
  • try catch 中的finally什么时候运行
  • 力扣 -- 322. 零钱兑换(完全背包问题)
  • [python]pip安装requiements.txt跳过错误包继续安装
  • 1.5 计算机网络的类别
  • Go 基本数据类型和 string 类型介绍
  • Python中print()打印如何不换行?
  • python 学习随笔 4
  • 【网络安全-信息收集】网络安全之信息收集和信息收集工具讲解
  • 设计模式12、代理模式 Proxy
  • ZXing - barcode scanning library for Java, Android
  • MySQL存储引擎:选择合适的引擎优化数据库性能
  • 用向量数据库Milvus Cloud 搭建AI聊天机器人
  • 深入理解JVM虚拟机第十一篇:详细介绍JVM中运行时数据区
  • mysql面试题17:MySQL引擎InnoDB与MyISAM的区别
  • 第2篇 机器学习基础 —(1)机器学习方式及分类、回归