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 Loop和Exit For Loop If;结束本次循环用的是关键字Continue For Loop和Continue For Loop If,而在RF5.0版本后分别用BREAK和CONTINUE来替换前面的关键字。如下
- 退出整个循环: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()效果是一致的,如下


相关文章:
RobotFramework流程控制(最新版本)
文章目录 一 分支流程1. 关键字:Run Keyword If2. 关键字:IF/ELSE3. 嵌套IF/ELSE4. 关键字:Set Variable If 二 循环流程1. 普通FOR循环2. 嵌套FOR循环3. 退出循环4. 其它常用循环 一 分支流程 1. 关键字:Run Keyword If Run Key…...
win11 好用的 快捷方式 --chatGPT
gpt: Windows 11引入了许多新的功能和改进,同时也包括一些实用的快捷方式和功能。以下是一些Windows 11中的常用快捷方式: 1. **Win D**:最小化或还原所有打开的窗口,显示桌面。 2. **Win E**:打开文件资源管理器…...
在大数据相关技术中,HBase是个分布的、面向列的开源数据库,是一个适合于非结构化数据存储的数据库。
HDFS,适合运行在通用硬件上的分布式文件系统,是一个高度容错性的系统,适合部署在廉价的机器上。Hbase,是一个分布式的、面向列的开源数据库,适合于非结构化数据存储。MapReduce,一种编程模型,方…...
910数据结构(2020年真题)
算法设计题 问题1 现有两个单链表A和B,其中的元素递增有序,在不破坏原链表的情况下,请设计一个算法,求这两个链表的交集,并将结果存放在链表C中。 (1)描述算法的基本设计思想; (2)根据设计思想࿰…...
MyBatisPlus(八)范围查询
说明 范围查询,包括: 大于大于等于小于小于等于在范围内在范围外 大于:gt 代码 Testvoid gt() {LambdaQueryWrapper<User> wrapper new LambdaQueryWrapper<>();wrapper.gt(User::getAge, 20);List<User> users mapp…...
【day10.04】QT实现TCP服务器客户端搭建的代码
服务器: #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器server new QTcpServer(this);//此时,服务器已经成功进入…...
milvus 结合Thowee 文本转向量 ,新建表,存储,搜索,删除
1.向量数据库科普 【上集】向量数据库技术鉴赏 【下集】向量数据库技术鉴赏 milvus连接 from pymilvus import connections, FieldSchema, CollectionSchema, DataType, Collection, utility connections.connect(host124.****, port19530)2.milvus Thowee 文本转向量 使用 …...
GEO生信数据挖掘(三)芯片探针ID与基因名映射处理
检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 处理一个探针对应多个基因 1.删除该行 2.保留分割符号前面的第一个基因 处理多个探针对应一个基因 详细代码案例一删除法 详细代码案例二 多个基因名时保留第一个基因名…...
力扣 -- 96. 不同的二叉搜索树
解题步骤: 参考代码: class Solution { public:int numTrees(int n) {vector<int> dp(n1);//初始化dp[0]1;//填表for(int i1;i<n;i){for(int j1;j<i;j){//状态转移方程dp[i](dp[j-1]*dp[i-j]);}}//返回值return dp[n];} }; 你学会了吗&…...
经典算法-枚举法(百钱买百鸡问题)
题目: 条件:现有 100 元,一共要买公鸡、母鸡、小鸡三种鸡,已知公鸡 5 元一只,母鸡 3 元一只,1 元可以买三只小鸡。 要求:公鸡、母鸡、小鸡都要有,一共买 100 只鸡。有哪几种买法&am…...
Gurobi设置初始可行解
目录 1. 决策变量的Start属性直接设置变量的初始值 1.1 Start:MIP变量的起始值(初值)double类型,可更改 1.2 StartNodeLimit:限制了在完善一组输入部分变量的初始解时,MIP所探索的分支定界的节点的数量 …...
Zabbix配置监控文件系统可用空间小于30GB自动告警
一、创建监控项 二、配置监控项 #输入名称–>键值点击选择 #找到磁盘容量点击 注: 1、vfs 该键值用于检测磁盘剩余空间,zabbix 内置了非常多的键值可以选着使用 2、单位B不需要修改,后期图表中单位和G拼接起来就是GB 3、更新时间 10S…...
进程调度算法之先来先服务(FCFS),短作业优先(SJF)以及高响应比优先(HRRN)
1.先来先服务(FCFS) first come first service 1.算法思想 主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子) 2.算法规则 按照作业/进程到达的先后顺序进行服务。 3.用于作业/进程调度 用于作业调度时,考虑的是哪个作业先…...
MyBatisPlus(九)模糊查询
说明 模糊查询,对应SQL语句中的 like 语句,模糊匹配“要查询的内容”。 like /*** 查询用户列表, 查询条件:姓名包含 "J"*/Testvoid like() {String name "J";LambdaQueryWrapper<User> wrapper ne…...
Spring 原理
它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring仍然可以和其他的框架无缝整合。 1 Spring 特点 轻量级控制反转面向切面容器框架集合 2 Spring 核心组件 3 Spring 常用模块 4 Spring 主要包 5 Spring 常用注解 bean…...
基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言系统主要功能:具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…...
try catch 中的finally什么时候运行
try catch 中的finally什么时候运行 在Java、C#等编程语言中,try-catch-finally语句块用于处理异常。finally块的执行时机通常是在try块中的代码执行完毕之后,无论try块中的代码是否引发了异常。 具体执行顺序如下: 1、try块中的代码首先被…...
力扣 -- 322. 零钱兑换(完全背包问题)
参考代码: 未优化代码: class Solution { public:int coinChange(vector<int>& coins, int amount) {int n coins.size();const int INF 0x3f3f3f3f;//多开一行,多开一列vector<vector<int>> dp(n 1, vector<i…...
[python]pip安装requiements.txt跳过错误包继续安装
在linux上可以用下面操作进行 while read requirement; do sudo pip install $requirement; done < requirement.txt 在windows上写个脚本 import sys from pip._internal import main as pip_maindef install(package):pip_main([--default-timeout1000,install,-U, pac…...
1.5 计算机网络的类别
思维导图: 1.5.1 计算机网络的定义 我的笔记: #### 精确定义: 计算机网络没有统一的精确定义,但一种较为接近的定义是:计算机网络主要由一些通用的、可编程的硬件互连而成,这些硬件并非专门用来实现某一特…...
AI时代计算机教育变革:从代码生成到系统设计的教学重构
1. 项目概述:当AI走进计算机课堂,我们面临的真实图景作为一名在计算机教育一线摸爬滚打了十几年的从业者,我亲眼见证了从粉笔黑板到多媒体教室,再到如今云端协作的变迁。但最近两年,以ChatGPT、GitHub Copilot为代表的…...
基于多智能体协作的AI开发流程:三人团队模式解析与实践
1. 项目概述与核心痛点如果你和我一样,在日常开发中深度依赖像Claude这样的AI编码助手,那你一定也经历过那种“又爱又恨”的时刻。爱的是它强大的代码生成和理解能力,恨的是它时不时会“放飞自我”——比如你只想让它修改一个函数,…...
从苹果FBI解锁案看现代加密技术与工程师伦理抉择
1. 事件背景与核心争议点2016年初,美国联邦调查局(FBI)向苹果公司提出了一项史无前例的要求:协助解锁一部属于圣贝纳迪诺枪击案枪手的iPhone 5c。这部手机设置了密码保护,并启用了“数据自毁”功能,即在连续…...
5分钟掌握视频号批量下载:res-downloader高效操作指南
5分钟掌握视频号批量下载:res-downloader高效操作指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 在数字内容…...
期刊论文发表难破局:虎贲等考 AI 以真文献 + 强实证,大幅提升录用率
在职称评审、毕业要求、科研考核的多重压力下,期刊论文早已成为硬指标。可现实是:投稿容易录用难,初审因选题、文献、实证、格式任意一点不合格就被拒稿,返修反复消耗数月。通用 AI 只能堆砌文字、编造来源,普通工具仅…...
企业级AI应用如何通过Taotoken统一管理多个大模型API调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业级AI应用如何通过Taotoken统一管理多个大模型API调用 在构建企业级AI应用时,技术团队常常面临一个现实挑战&#x…...
基于Next.js 15与React 19构建现代化个人作品集:技术选型与工程实践
1. 项目概述:为什么选择 Next.js 15 构建现代个人作品集 作为一名在前后端领域摸爬滚打了十多年的开发者,我见过也亲手搭建过无数种个人作品集网站。从早期的纯静态 HTML/CSS,到 jQuery 时代,再到 React/Vue 等框架的兴起&#x…...
语言启蒙到底要不要背单词
语言启蒙阶段到底要不要背单词?我更愿意把这个问题换一种问法:这些词是不是能和声音、图像、语境连起来,并且隔几天还能回来一次。 如果只是拿一张词表硬记,入门用户很容易觉得枯燥。可如果完全不接触词汇,后面的听读…...
LangChain+FAISS 向量数据库搭建轻量化 RAG 应用
📝 本章学习目标:本章聚焦企业轻量化落地,帮助读者快速掌握基于 LangChainFAISS 的私有化 RAG 开发流程。通过本章学习,你将从零搭建一套无需 GPU、无外网依赖、纯本地运行、代码极简、可直接上线的轻量化 RAG 应用。 一、引言&a…...
别再被FFmpeg里的12bpp搞懵了!手把手教你理解YUV420sp与BPP的关系
别再被FFmpeg里的12bpp搞懵了!手把手教你理解YUV420sp与BPP的关系 第一次在FFmpeg文档里看到"12bpp"这个描述时,我盯着屏幕愣了半天——RGB24格式不是8bpp吗?YUV420不是应该更节省空间吗?怎么反而变成了12bpp࿱…...
