RobotFramework流程控制(最新版本)

news2024/12/25 23:02:46

文章目录

    • 一 分支流程
      • 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  step
	keyword
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.coloradmin.cn/o/1060210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年10月4日

服务器 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器server new QTcpServer(this);//此时,服务器已经成功进入监听状态&…

Docker通过Dockerfile创建Redis、Nginx--详细过程

创建Nginx镜像 我们先创建一个目录,在目录里创建Dockerfile [rootdocker-3 ~]# mkdir mynginx [rootdocker-3 ~]# cd mynginx [rootdocker-3 ~]# vim Dockerfile Dockerfile的内容 FROM daocloud.io/library/centos:7 RUN buildDepsreadline-devel pcre-devel o…

Ventoy万能U盘安装系统,支持任何的操作系统安装

Ventoy万能U盘安装系统,支持任何的操作系统安装: Download . VentoyVentoy is an open source tool to create bootable USB drive for ISO files. With ventoy, you dont need to format the disk again and again, you just need to copy the iso fil…

【网络安全---ICMP报文分析】Wireshark教程----Wireshark 分析ICMP报文数据试验

一,试验环境搭建 1-1 试验环境示例图 1-2 环境准备 两台kali主机(虚拟机) kali2022 192.168.220.129/24 kali2022 192.168.220.3/27 1-2-1 网关配置: 编辑-------- 虚拟网路编辑器 更改设置进来以后 ,先选择N…

基于SSM的宿舍管理系统

基于SSM的学生宿舍管理系统的设计与实现,前后端分离 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 系统主要分学生和管理员两个角色,功能有…

RSA攻击:模数分解

目录 一、模数分解总览 1.1直接分解法 1.2费马分解与Pollard_rho分解 1.3公约数分解 1.4其他模数分解 二、实战特训 2.1[黑盾杯 2020]Factor 2.2[GWCTF 2019]babyRSA 2.3[LitCTF 2023]yafu (中级) 2.4[RoarCTF 2019]RSA 2.5[CISCN 2022 西南]rsa 三、总结 一、模数分解总览 …

进程调度的时机,切换与过程以及方式

1.进程调度的时机 进程调度(低级调度〉,就是按照某种算法从就绪队列中选择一个进程为其分配处理机。 1.需要进行进程调度与切换的情况 1.当前运行的进程主动放弃处理机 进程正常终止运行过程中发生异常而终止进程主动请求阻塞(如等待l/O)…

(粗糙的笔记)动态规划

动态规划算法框架: 问题结构分析递推关系建立自底向上计算最优方案追踪 背包问题 输入: n n n个商品组成的集合 O O O,每个商品有两个属性 v i v_i vi​和 p i p_i pi​,分别表示体积和价格背包容量 C C C 输出: …

【C语言】函数的定义、传参与调用(二)

💗个人主页💗 ⭐个人专栏——C语言初步学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读: 1. 函数的嵌套调用 1.1 什么是嵌套调用 1.2 基础实现 1.3 调用流程解析 2. 函数的链式访问 2.1 …

算法通过村第十二关-字符串|青铜笔记|隐形的王者

文章目录 前言转换成小写字母字符串转换整数总结 前言 提示:为别人而活着,其实是最简单的一种活法。 --蔡崇达《命运》 字符串本身并不是一种数据结构,但是由于其本身的特殊性,额可以产生很多特殊的算法问题。另外,字符…

Java之并发工具类的详细解析

3. 并发工具类 3.1 并发工具类-Hashtable Hashtable出现的原因 : 在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我们可以使用Hashtable,但是Hashtable的效率低下。 代码实现 …

数据源报表

1.新建报表 2.新建数据集 3.维护数据源 支持的数据库还是蛮多哈 4.选择数据源表 5.编写sql 编码:SQL数据集的标识 注:避免特殊字符和_名称:SQL数据集的名称是否集合:否为单数据;是为多数据列表,如果多条数据…

MapStruct初窥门径

一、介绍 MapStruct相比于BeanUtils性能更高&#xff0c;能够实现DO&#xff0c;DTO&#xff0c;VO之间的转换&#xff0c;达到解耦合的目的 二、使用前提 添加依赖 <dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifa…

第八章 Linux文件系统权限

目录 8.1 文件的一般权限 1.修改文件或目录的权限---chmod命令 2.对于文件和目录&#xff0c;r&#xff0c;w&#xff0c;x有不同的作用&#xff1a; 3.修改文件或目录的所属主和组---chown,chgrp 8.2 文件和目录的特殊权限 三种通过字符描述文件权限 8.3 ACL 权限 1.A…

基于Java的药店管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

1500*A. Boredom(DP)

Problem - 455A - Codeforces Boredom - 洛谷 解析&#xff1a; 首先统计每个数的个数&#xff0c;并且统计出最大值mx。 问题转换为&#xff0c;从1-mx 中选择任意个数字&#xff0c;使其都不相邻&#xff0c;求最大的总和。 开始没有思路&#xff0c;以为直接选取偶数位和奇…

项目进展(七)-焊接ADS1285及其外围电路,学习芯片的SPI部分

一、焊接芯片及其外围电路 总体焊接过程没有出现什么大问题&#xff0c;也算顺利&#xff0c;下一步主要是根据SPI来编写代码&#xff0c;配置该芯片。 焊接之后的PCB如下(手工焊接&#xff0c;比较丑陋&#xff0c;哈哈哈哈) 之后测试了4.096V参考电压和晶振输出&#xff0c…

CART算法解密:从原理到Python实现

目录 一、简介CART算法的背景例子&#xff1a;医疗诊断 应用场景例子&#xff1a;金融风控 定义与组成例子&#xff1a;电子邮件分类 二、决策树基础什么是决策树例子&#xff1a;天气预测 如何构建简单的决策树例子&#xff1a;动物分类 决策树算法的类型例子&#xff1a;垃圾…

长时序栅格数据缺失值插补

长时序栅格数据经常会出现一些缺失值&#xff0c;会对后续的分析造成很大的不便。这便需要利用一些插值算法对这些缺失数据进行填补&#xff0c;奇异谱分析&#xff08;SSA&#xff09;便是常用的一种插值方法。更多内容可见公众号GeodataAnalysis。 简介 在时间序列分析中&a…

处理机调度的概念,层次联系以及七状态模型

1.基本概念 当有一堆任务要处理&#xff0c;但由于资源有限&#xff0c;这些事情没法同时处理。 这就需要确定某种规则来决定处理这些任务的顺序&#xff0c;这就是“调度”研究的问题。 2. 三个层次 1.高级调度&#xff08;作业调度&#xff09; 高级调度&#xff08;作业…