【Robot Framework】RF关键字大全
收录工作当中最常用的Robot Framework关键字
内容较多,可以Ctrl+F快速搜索自己想要的
1. RF循环使用(FOR循环)
@{list1} create list LOG TXT INI INF C CPP JAVA JS CSS LRC H ASM S ASP
FOR ${file_type} IN @{list1}
log 构造请求参数
${taskID} generate random string
XXXXXX
END
2. RF条件语句使用
-
OR 用法
if “ r e s p [ 3 ] [ d a t a ] [ s t a t u s ] " = = " S U C C E S S " o r " {resp}[3][data][status]" == "SUCCESS" or " resp[3][data][status]"=="SUCCESS"or"{resp}[3][data][status]” == “FAIL” -
AND 用法
if “ r e s p [ 3 ] [ d a t a ] [ s t a t u s ] " = = " S U C C E S S " a n d " {resp}[3][data][status]" == "SUCCESS" and " resp[3][data][status]"=="SUCCESS"and"{resp}[3][data][status]” == “FAIL”
3. RF的log方法
控制台打印日志:log to console
同时打印多个变量:log many
在IF判断后打印日志:
Run KeyWord If “${resp}[3][data][status]”==“SUCCESS” BuiltIn.Log 接口响应快速,无需等待
… ELSE BuiltIn.Log 异步队列等待中
4. 获取${requestBody}的type
h e a d e r s T y p e E v a l u a t e t y p e ( {headersType} Evaluate type( headersTypeEvaluatetype({headers})
5. 变量的四则运算
${res1} Evaluate ${var1} + ${var2}
${res2} Evaluate ${var1} - ${var2}
${res3} Evaluate ${var1} * ${var2}
${res4} Evaluate ${var1} / ${var2}
6. 变量的模商余运算
${res5} Evaluate ${var1} ** ${var2}
${res6} Evaluate ${var1} % ${var2}
${res7} Evaluate ${var1} // ${var2}
7. 获取当前时间(Date形式)
${data_1} Get Current Date
8. 获取两个时间的时间差
${time} Subtract Date from Date ${data_2} ${data_1}
9. 时间转换成数字
${time} Convert To Number ${time}
10. 在herder中添加一个参数
set to dictionary ${headers} Route-Key ${route_key}
11. 生成目标范围内的整数
${start} evaluate random.randint(1,3) random
12. 字符串替换
u s e r I d e v a l u a t e s t r ( {userId} evaluate str( userIdevaluatestr({userId}).replace(‘.’,‘’)
13. 字符串多个替换
u s e r I d e v a l u a t e s t r ( {userId} evaluate str( userIdevaluatestr({userId}).replace(‘[’,‘’).replace(‘]’,‘’)
14. 字符串截取固定位置内容
u s e r I d G e t S u b s t r i n g s t r ( {userId} Get Substring str( userIdGetSubstringstr({userId}) 9 15
15. 字典多组数值取值
${userId} set variable ${resp}[3][data][users][0][id]
16. 分割字符串制成List
${testDataList} split string ${testDataStr} ${SPACE}
17. 获取List长度(元素个数)
${testDataListLen} get length ${testDataList}
18. 从元组中拿取特定的一组list数据(拿取参数信息)
${conf} get obj from list ${configResp}[3][data][items] name ${confName}
${conf}:最终赋值对象
name:目标匹配参数
c o n f N a m e :目标匹配参数的匹配值就是在结果中(元组)寻找 n a m e = {confName}:目标匹配参数的匹配值 就是在结果中(元组)寻找name= confName:目标匹配参数的匹配值就是在结果中(元组)寻找name={confName}的那一组数据,以list形式赋值给${conf}
19. 变量套变量
KaTeX parse error: Expected group after '_' at position 29: …t variable s_̲{list1}[${i}]FileId
KaTeX parse error: Expected '}', got 'EOF' at end of input: …","image_url":"{downloadUrl}?KaTeX parse error: Expected '}', got 'EOF' at end of input: {{file_id}}",“image_filename”:“xxx”}
20. 跳过(无操作)
No Operation
21. 键盘敲击
selenium press keys ${null} ENTER
22. 坐标点击

#移动到目标位置
PUBLIC.pyautogui move mouse ${x} ${y} ${持续时间}
#点击目标位置
PUBLIC.pyautogui click mouse ${x} ${y} ${按键次数} ${间隔时间} ${按键类型} ${持续时间}
#${按键类型} : left(左键)、middle(中键)、right(右键)、primary(基本的)、secondary(次要的)
23. 相同的元素定位按照元素索引
xpath=//input[1][@type=“password”]
xpath=//input[2][@type=“password”]
xpath=//input[3][@type=“password”]
24. 将json格式数据转换成dict格式
${expectDict} store_json_keys_to_dict ${expectJson}
25. 获取目标文件的内容(结果为string形式)
${file_contents} OperatingSystem.Get File ${CURDIR}/…/…/…/…/…/OpenSDK/index.html
26. 设置关键字失败不中断
run keyword and continue on failure xxxxx(关键字)
27. 校验dict的所有存在二级节点的key
compare dicts key name and key count ${testDict} ${expectDict}
28. 移除List中的${EMPTY}值
remove values from list ${testDataList} ${EMPTY}
29. 两个字符串转换成整数应相等
should be equal as integers ${resp}[0] 200 响应码不正确
30. 英译意为拆卸,常用于关闭驱动
[Teardown】
[Teardown】 关闭前需要执行的关键字
31. 用例初始化时,执行关键字
Test Template 关键字
32. 切换前端图层
selenium select frame ${iframe系统后台_登录}
33. 打开第二个浏览器
log 打开第二个浏览器
selenium open browser l o g i n U r l b r o w s e r = {loginUrl} browser= loginUrlbrowser={browser} alias=new1
34. 切换到第一个浏览器
selenium switch browser 1
35. 从目标字符串中取值
${x-csrf-rand} should match regexp ${fileResp}[2] “csrf_token”
36. 设置数组,遍历数组
@{list1} create list WORD_XML
FOR ${file_type} IN @{list1}
log 在这里写操作
END
37. 元素无法抓取
有些元素确实是变动的,无法抓取,可以迂回,抓固定元素
像复选框,可以直接选总复选框
38. 编辑链接为只读状态
log 获取编辑链接
${resp} open_edit_get_/api/edit/v1/files/{file_id}/link ${fileId} w
${editUrl} set variable ${resp}[3][data][link]
log 打开编辑链接,查看打印页面
selenium go to ${editUrl}
RF以这种方式获取的链接是只读的状态
想要可编辑,我们可以在编辑链接末尾加上【&_w_type=1】参数
39. 获取当前请求的性能数据
${headers} selenium execute javascript return window.performance.getEntries()
40. 获取当前页面的Url
${headers} selenium execute javascript return window.location.href
41. 获取元素定位时加入子元素
${后台_应用详情按钮} //button[@class=“ant-btn ant-btn-link”]/span[text()=“详情”]
相关文章:
【Robot Framework】RF关键字大全
收录工作当中最常用的Robot Framework关键字 内容较多,可以CtrlF快速搜索自己想要的 1. RF循环使用(FOR循环) {list1} create list LOG TXT INI INF C CPP JAVA JS CSS LRC H ASM S ASP FOR ${file_type} IN {list1} log 构造请求参数 ${t…...
Xilinx Artix-7【XC7A35T-2CSG324I】【XC7A35T-1CSG324I】成本与收发器优化的FPGA器件
产品介绍: Xilinx Artix -7系列 FPGA 重新定义了成本敏感型解决方案,功耗比上一代产品降低了一半,同时为高带宽应用提供一流的收发器和信号处理能力。这些设备基于 28 纳米 HPL 工艺构建,提供一流的性能功耗比。与 MicroBlaze™ 软…...
K8S之自定义Controller
简介 在此之前我们先来了解下kubernetes的两个概念"声明式API"和"控制器模式"。"声明式API"核心原理就是当用户向kubernetes提交了一个API对象的描述后,Kubernetes会负责为你保证整个集群里各项资源的状态,都与你的API对象…...
无线电相关的SCI期刊有哪些? - 易智编译EaseEditing
以下是几个无线电相关的SCI期刊: IEEE Transactions on Wireless Communications: 这是一个IEEE无线通信协会的期刊,主要涵盖了无线通信领域的最新研究进展,包括无线网络,通信系统和信号处理等方面。 IEEE Transacti…...
Rust - 结构体基本使用
基础代码示例 为了理解何时需要使用结构体,官方文档给了一个案例,就是计算长方形的面积,这里我们会一步一步的重构代码直到使用结构体为止。 计算长方形的面积的具体逻辑就是获取长方形的宽度和高度,然后通过公式计算出长方形的…...
29. Kubernetes 核心组件讲解——Controller Manager
本章讲解知识点 Controller Manager 概述Replication ControllerNode ControllerResourceQuota ControllerNamespace ControllerService Controller 与 Endpoint Controller1. Controller Manager 概述 1.1 基本概念 一般来说,智能系统和自动系统通常会通过一个“操作系统”…...
BetaFlight统一硬件配置文件研读之feature命令
BetaFlight统一硬件配置文件研读之feature命令 1. 源由2. 代码分析3. 实例分析4. 配置情况4.1 feature4.2 feature list4.3 feature feature_name4.4 feature -feature_name 5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解…...
ChatGPT 不好用?那你看下这份 Prompt 工程指南
作为大型语言模型接口,ChatGPT 生成的响应令人刮目相看,然而,解锁其真正威力的关键还是在于提示工程。 在本文中,我们将揭示制作提示的专家级技巧,以生成更准确、更有意义的响应。无论你使用 ChatGPT 是为了服务客户、…...
冲浪杂记——
华为od是指什么? 华为OD(Open Developer Platform)是华为面向全球开发者推出的开放平台,旨在为开发者提供丰富的技术资源和开发工具,支持开发者快速构建基于华为技术的应用程序、解决方案和服务。华为OD平台为开发者提…...
深入理解Python中的进程与线程
前言 今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行,从而…...
Data retry场景介绍
本文介绍PDN激活失败或者IP Address缺失时的处理机制。 终端是否会retry? 如何设置data retry timer? Modem retry还是上层应用发起retry? IPV4V6 Fallback 3GPP TS 24.008 6.1.3.1定义了UE使用IPV4V6 pdp type建PDN失败后,如果网络以#Cause50、#Cause51或者#Cause52 …...
lua | 数组与迭代器的使用
目录 一、数组 一维数组 多维数组 二、迭代器 泛型for迭代器 无状态的迭代器 多状态的迭代器 本文章为笔者学习分享 学习网站:Lua 基本语法 | 菜鸟教程 一、数组 数组:相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数…...
【云原生】云原生服务网格流量控制思考
文章目录 前言一、什么是流量控制?二、存在三种场景三、场景分析 前言 随着云原生技术的不断发展及应用,很多服务都已部署上云。 保障云上环境的稳定是重要的一环。 一个重要的影响稳定的场景就是突发大流量冲击。 面对该场景,较好的应对…...
《数据库的嵌套查询和统计查询》
选择Study数据库,用SQL语句进行以下查询操作。 1.嵌套查询 ①求选修了数据结构的学生学号和成绩。 SELECT Sno, grade FROM sc WHERE Cno 007;②求007课程的成绩高于于文轩的学生学号和成绩。 SELECT Sno, grade FROM sc WHERE Cno 007 AND grade …...
【网站架构】Nginx 4层、7层代理配置,正向代理、反向代理详解
大家好,欢迎来到停止重构的频道。 本期我们讨论网络代理。 在往期《大型网站 安全性》介绍过,出于网络安全的考虑,一般大型网站都需要做网络区域隔离,以防止攻击者直接操控服务器。 网站系统的应用及数据库都会放在这个网络安全…...
mysql备份和恢复
mysql备份和恢复 数据丢失的原因: 程序错误 人为操作错误 运算错误 磁盘故障 灾难(火灾,地震)和盗窃 数据库备份分类 物理备份 数据库此操作系统的物理文件(数据文件,日志文件等)的备份 …...
新闻月刊 | GBASE 4月市场动态一览
产品动态 4月,GBASE南大通用大规模分布式并行数据库GBase 8a MPP Cluster中标人保财险“2022年基础软件产品及服务采购”项目。这是自2019年GBASE与人保财险达成合作以来支持建设的第三期项目。项目上线后,将极大满足人保财险大数据中心及研发中心的增量…...
Java --- springboot2数据响应与内容协商
目录 一、数据响应与内容协商 1.1、响应json 1.1.1、返回值解析器 1.1.2、springMVC支持的返回值类型 1.1.3、HttpMessageConverter原理 1.2、内容协商 1.2.1、引入依赖 1.2.2、 postman分别测试返回json和xml 1.2.3、开启浏览器参数方式内容协商功能 1.3、自定义 Message…...
“中特估”乘风破浪!后续机遇在哪?
5月第一个交易日,“中特估”继续乘风破浪,A股银行板块集体大涨。 随着新一轮国企改革正在推进,中特估体系也在积极构建之中。在市场缺乏增量资金背景下,市场选股范式已经转向数字经济AI、央国企价值重估的两条主线,此…...
OpenShift 4 - 在 CI/CD Pipeline 中创建 KubeVirt 容器虚拟机 - 方法3
《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.12 的 OpenShift 环境中验证 文章目录 创建并运行 CI/CD Pipeline访问 VMPipeline 的 Task 解读 创建并运行 CI/CD Pipeline 执行命令,生成公钥-私钥对。 $ ssh-keygen$ l…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
