【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…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...