【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的, 第二…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
