Robot Framework中常用变量的一些操作

一. 简介

前面学习了 Robot Framework中常用变量,文章如下:

Robot Framework框架中常用的变量-CSDN博客

本文继续来学习这几个变量(标量,列表,字典)的操作。

二. Robot Framework中常用变量的一些操作

1. 标量

Robot Framework中的标量型变量,可以定义成字符串,数值,布尔值等等。

标量型变量操作通常指的是对单个数据值进行的操作。例如,你可能需要将一个变量的值加1,如果是字符串,则可以进行索引宇切片,或者检查一个字符串是否包含特定的子串。

(1) 当标量型变量定义为数值时,可以进行自增、相加操作

变量加 1操作,实现如下:

*** Test Cases *** 
Test Increment Variable                    #测试用例名[Documentation]  测试变量加1            #用例文档说明${number}    Set Variable  5           #创建变量并赋值${number}    Evaluate    ${number} + 1 #变量加 1

求两个变量之和,实现如下:

*** Test Cases *** 
Test sum of two datas                    #测试用例名[Documentation]  两个变量的和          #用例文档说明${number1}    Set Variable  1          #创建变量1并赋值${number2}    Set Variable  2 ${data} Evaluate ${number1} + ${number2} #计算两数之和

(2) 当标量型变量定义为字符串时,可以进行索引与截取操作

当 scalar变量定义为字符串时,可以进行索引或截取操作,具体实现如下:

*** Test Cases ***
Test Case1                          #测试用例名[Documentation]  索引,切片操作  #文档说明${str}  Set Variable  acdeefg   #创建变量并赋值${index}    Evaluate    ${str}[1]  #索引访问,并赋值${slice}    Evaluate    ${str}[-3:] #进行截取,并赋值Log    索引: ${index}Log    切片: ${slice}

2. 列表

Robot Framework 中的 List变量用 “@{}” 表示,和 python中的列表差不多。

创建 List列表的一种传统方法:用 Robot Framework框架自带的库 Collections 中的 Create List 关键字进行创建 。

从 Robot Framework 3.2 开始,可以使用 Set Variable关键字来创建列表。如果 Robot Framework 版本低于 3.2,则不能使用 Set Variable关键字创建。

向列表中添加元素

方法一:使用 Append To List 关键字向列表中添加元素

*** Test Cases ***
Add Elements to ListAppend To List    ${MY_LIST}    item1    item2Log    ${MY_LIST}

方法二:使用 Set To List 关键字向列表中添加元素

Set To List 关键字可以用来重新设置列表的内容,也可以用来向列表中添加新的元素。

*** Test Cases ***
Add Elements to List${new_elements}=    Create List    item3    item4Set To List    ${MY_LIST}    @{MY_LIST}    @{new_elements} Log    ${MY_LIST}

上面首先创建了一个新的列表 new_elements,然后使用 Set To List关键字将 列表 new_elements与 MY_LIST列表合并在一起。

删除列表中的元素

方法一:使用 Remove From List 关键字

使用 Remove From List 关键字可以从列表中删除指定索引位置的元素。

*** Test Cases ***
Remove Element from List by Index     #测试用例名@{MY_LIST}  item1  items2  items3  items4Remove From List   ${MY_LIST}  1  #删除索引为 1的元素(即第二个元素)Log  ${MY_LIST}

方法二:使用 Remove Values From List关键字

Remove Values From List 关键字可以从列表中删除所有匹配指定值的元素。

*** Test Cases ***
Remove Elements from List by Value@{MY_LIST}   apple    banana   cherryRemove Values From List  ${MY_LIST}  cherry #删除列表中所有'cherry'的元素

方法三:使用 Evaluate关键字

*** Test Cases ***
Remove Elements from List Using Evaluate@{MY_LIST}    item1    item2    item3    item4${filtered_list}=    Evaluate    [x for x in ${MY_LIST} if x != 'item2']Log    ${filtered_list}

在这个例子中,我们使用 Python 列表推导式来过滤掉值为 item2 的元素。

访问列表中的元素

访问 List列表中的元素和 python一样,用下标索引来访问

3. 字典

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/62445.shtml

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

相关文章

vue3项目搭建-6-axios 基础配置

axios 基础配置 安装 axios npm install axios 创建 axios 实例,配置基地址,配置拦截器,目录:utils/http.js 基地址:在每次访问时,自动作为相对路径的根 // axios 基础封装 import axios from "axios";…

23种设计模式-抽象工厂(Abstract Factory)设计模式

文章目录 一.什么是抽象工厂设计模式?二.抽象工厂模式的特点三.抽象工厂模式的结构四.抽象工厂模式的优缺点五.抽象工厂模式的 C 实现六.抽象工厂模式的 Java 实现七.代码解析八.总结 类图: 抽象工厂设计模式类图 一.什么是抽象工厂设计模式&#xff1f…

uart_pl011.c驱动API的zephyr测试

API概述 本次测试针对uart的uart_poll_in和uart_poll_outAPI进行测试, uart_poll_in static int pl011_poll_in(const struct device *dev, unsigned char *c)这是一个轮询方式的接收函数: 功能:检查 UART 是否有新数据到达,如…

【Linux探索学习】第十七弹——进程终止:深入解析操作系统中的进程终止机制

Linux学习笔记: https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言: 在操作系统中,进程终止是一个至关重要的阶段,它标志着进程的生命周期结束。进程终止可能是因为任务完成&#xff0…

Vue 3 组件通信教程

Vue 3 组件通信教程 1. Props 父传子 1.1 基础用法 在 Vue 3 中&#xff0c;我们使用 defineProps 来声明组件的 props&#xff1a; <!-- 子组件 ChildComponent.vue --> <script setup> const props defineProps({message: String,count: {type: Number,requ…

MySQL更新JSON字段key:value形式

MySQL更新JSON字段key:value形式 1. 介绍 ‌MySQL的JSON数据类型‌是MySQL 5.7及以上版本中引入的一种数据类型&#xff0c;用于存储JSON格式的数据。使用JSON数据类型可以自动校验文档是否满足JSON格式的要求&#xff0c;优化存储格式&#xff0c;并允许快速访问文档中的特定…

javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET

javax.xml.ws.soap.SOAPFaultException 表示 SOAP 调用过程中发生了错误&#xff0c;并且服务端返回了一个 SOAP Fault。 错误信息中提到的 ZONE_OFFSET 可能指的是时区偏移量。在日期和时间处理中&#xff0c;时区偏移量是指格林威治标准时间 (GMT) 的偏移量。如果服务期望特…

软路由设置ip地址实现一机一IP

软路由作为一种灵活且强大的网络设备&#xff0c;越来越受到家庭和小型企业用户的青睐。通过软路由配置代理IP&#xff0c;不仅可以提升网络性能&#xff0c;还能保护隐私和实现更多高级功能。本文将详细介绍如何在软路由中配置代理IP&#xff0c;帮助你轻松实现更高效的网络管…

介绍一下strupr(arr);(c基础)

hi , I am 36 适合对象c语言初学者 strupr(arr)&#xff1b;函数是把arr数组变为大写字母 格式 #include<string.h> strupr(arr); 返回值为arr 链接分享一下arr的意义(c基础)(必看)(牢记)-CSDN博客 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #incl…

【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)

更新 0.0.1&#xff08;2024/11/26&#xff09;&#xff1a; 1.解决了内建蓝牙无法识别、“steamVR 蓝牙不可用” 的解决方案 2.解决了 tracker 虽然建立了连接但是在 steamVR 界面上看不到的问题 3.解决了 VIVE 基站1.0 无法被蓝牙识别 && 无法被 steamVR 搜索到 &…

C++设计模式之组合模式中如何实现同一层部件的有序性

在组合模式中&#xff0c;为了实现同一层上部件的有序性&#xff0c;可以采取以下几种设计方法&#xff1a; 1. 使用有序集合 使用有序集合&#xff08;如 std::list、std::vector 或其他有序容器&#xff09;来存储和管理子部件。这种方法可以确保子部件按照特定顺序排列&am…

Web 端语音对话 AI 示例:使用 Whisper 和 llama.cpp 构建语音聊天机器人

大语言模型&#xff08;LLM&#xff09;为基于文本的对话提供了强大的能力。那么&#xff0c;能否进一步扩展&#xff0c;将其转化为语音对话的形式呢&#xff1f;本文将展示如何使用 Whisper 语音识别和 llama.cpp 构建一个 Web 端语音聊天机器人。 系统概览 如上图所示&…

网络地址转换

NAT概述 解决公有地址不足&#xff0c;并且分配不均匀的问题 公有地址&#xff1a;由专门的机构管理、分配&#xff0c;可以在因特网上直接通信 私有地址&#xff1a;组织和个人可以任意使用&#xff0c;只能在内网使用的IP地址 A、B、C类地址中各预留了一些私有IP地址 A&…

电脑无互联网连接怎么解决?分享5种解决方案

无互联网连接是指设备无法与互联网进行通信或连接失败。这可能会导致我们无法正常上网&#xff0c;给我们的日常生活和工作带来很大的不便。但请不要担心&#xff0c;下面将为您介绍一些解决无互联网连接问题的方法。 一、检查网络是否正常连接 首先&#xff0c;确保您的路由器…

使用 F5 TTS 文字转音频

F5 TTS 支持 ZeroShot 音频克隆&#xff0c;只有将需要音频传给模型&#xff0c;模型既可以生成以对应声音生成的音频&#xff0c;F5 最强大的地方就是可以使用定制的人声。F5 使用了 DIT 架构进行训练&#xff0c;结构如下&#xff1a; 本地使用 F5 TTS F5 使用很简单&#x…

【Redis】Redis 预备知识

目录 1. 基本全局命令 KEYS EXISTS DEL EXPIRE TTL TYPE 2. 数据结构和内部编码 3. 单线程架构 Redis 提供了5种数据结构&#xff0c;理解每种数据结构的特点对于 Redis 开发运维非常重要&#xff0c;同时掌握每种数据结构的常见命令&#xff0c;会在使用 Redis 的时…

【从零开始的LeetCode-算法】3304. 找出第 K 个字符 I

Alice 和 Bob 正在玩一个游戏。最初&#xff0c;Alice 有一个字符串 word "a"。 给定一个正整数 k。 现在 Bob 会要求 Alice 执行以下操作 无限次 : 将 word 中的每个字符 更改 为英文字母表中的 下一个 字符来生成一个新字符串&#xff0c;并将其 追加 到原始的…

云原生革命:构建未来应用的无限可能

在这个数字化飞速发展的时代&#xff0c;云原生技术如同一股不可阻挡的潮流&#xff0c;正深刻改变着软件开发和部署的方式。它不仅仅是一种技术变革&#xff0c;更是一场关于如何更高效、更灵活地构建和运行应用的革命。今天&#xff0c;我们就来深入探讨云原生的魅力所在&…

软件设计模式复习

一、软件生存周期 二、软件开发过程模型 瀑布模型 特征&#xff1a; 从上一阶段承接的成果物作为本阶段的工作对象&#xff1b; 对上一阶段成果实施本阶段的活动&#xff1b; 给出本阶段的成果&#xff0c;作为下一阶段的输入&#xff1b; 对本阶段的工作进行评审&#xff0c…

centos7 yum install 失败,mirrorlist.centos.org连接不上

由于centos7停止支持,导致mirrorlist.centos.orgdns解析都是失效啦,yum命令没法安装程序. 换一个镜像源就好 sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/…