Robot FrameworkResource及关键字的使用

robot framework使用技巧 robot framework使用技巧 一、Library和Resource     Library指的是开源的第三方库如Selenium2Library、DatabaseLibrary、SSHLibrary等,导入之后就可以使用这些库包含的所有功能;第三方库不能满足需求的时候也可以自定义库,支持Python和Java编写。     在Directory、Suite中都可以新建Resourc... 阅读详情

举个例子,我们对baidu搜索进行兼容性测试时,我们的业务逻辑是

[打开浏览器] - [输入搜索内容] - [点击搜索按钮] - [截图保存] - [关闭浏览器]

而对应的业务数据,就是我们所输入的“搜索内容”。

在后续的测试中,我们应该将这一逻辑封装为一个关键字(这里可以理解为一个自定义函数,并将搜索内容作为输入变量)。每次测试时,只需要改变“搜索内容”这一变量即可。

1.建立资源

在导航树中的项目节点点击鼠标右键,选择【New Resource】,打开新建Resource的对话框,填写Resource名称“业务关键字”

2.建立关键字

在刚刚建立的【业务关键字】节点点击右键,选择【New User Keyword】,建立新关键字“百度搜索”

3.为关键字添加变量

点击【百度搜索】节点,展开编辑面板的【Settings】配置,点击Arguments的【edit】按钮,添加变量

按照使用说明,这里的变量使用 ${key} 的格式,多个变量之间使用 | 进行分割。这里我们演示一下多变量。使用${searchword}|${result}

4.为关键字设置业务逻辑
需要注意一下的是,这里的关键字可以理解为一个“函数”的概念,我们需要在TestCase中调用的是这个“关键字”。我们刚刚添加的变量是“关键字”的一部分,在TestCase中体现为具体的业务数据。

作为一个“函数”,除了变量外,我们还需要为之编写业务逻辑:

对应的脚本为

    Open Browser    https://www.baidu.com/    ff
    Input Text    id=kw    ${keyword}
    Click button    id=su
    Sleep    2
    ${title}    Get Title
    Should Contain    ${title}    ${result}
    Capture Page Screenshot    ff.png
    Close Browser

其中${searchword}和${result}表示我们的关键字在被TestCase调用时,传入的数据。而${title}则是作为一个中间过程的临时变量进行使用。

5.为TestSuite添加Resource

与Library类似,在Resource编写完成自后,需要在TestSuite进行 一下引用。

6.编写TestCase

设置完Resource之后,添加一个TestCase,并在其中使用我们刚刚定义的关键字

7.运行测试,获取测试结果

、

总结:

RobotFrame Work 中的Resource 及关键字给我们提供的是一种类似于“函数”概念的用户自定义机制。我们可以将一些通用的业务过程封装为一个关键字,并声明业务中的业务数据。在编写测试用 例时,直接调用关键字,设置业务数据即可。而一旦业务过程发生变化,或元素定位发生变化,我们只需要更改关键字中的业务逻辑即可,而不必更改每个测试用 例。

在使用过程中,有些验证逻辑我们可能无法仅仅通过RobotFrame Work 的内置函数或自定义关键字来实现,这个时候需要我们自己编写外部函数来进行验证,也就是需要自定义外部的Library。下一篇文章,我们将会对用户自定义Library进行介绍。

换频道——假想《道德经》与量子力学的一些联系 之前看到一位AI PM的前辈分享了自己对于PM境界的看法: 境界一,行事被放心。 境界二,独立主导产品线从0到1,做正确的事,并把事做正确。 境界三,一切以灵魂境界为基础,产品作为其理念的衍生。 对于我,3个月尝试于目标而无获,但塞翁失马焉知非福。自己已经具备境界一,虽然境界二尚未成熟,但境界三却有幸有所思考。 今天,往澳门的动车途中有感而发,为随笔。 阅读详情

相关推荐

详解modbus TCP通讯,并利用其实现欧姆龙PLC和西门子PLC的通讯

大家好,之前需要更新的MQTT通讯【2】因为硬件不足还不能发布出来,但最近在项目中涉及到西门子和欧姆龙之间的modbus TCP通讯,想到modbus TCP通讯是个非常常见并广泛使用的通讯协议,今天就结合最近做的测试给大家好好讲解一下,先提示一下,这边只给大家讲解如何实现,至于报文是什么,如何用socket来编写功能块或dll这边不会讲解,这块我会根据私信的小伙伴数量来考虑要不要出一篇如何用ST语言来编写modbus TCP功能块的博客。

dy186187的博客 1万+

Robot Framework使用resource文件

Python+Robot Framework实现登陆多个使用统一登陆页面的系统时,采用resoure文件将登陆页面独立维护,从而实现代码的复用和模块化

Step_By_XXX的博客 808

从零构建锂电池主动均衡系统:Simulink仿真中的Buck-Boost拓扑实战指南

本文详细介绍了如何在Simulink中从零构建基于Buck-Boost拓扑的锂电池主动均衡系统。通过仿真环境搭建、参数优化、控制策略设计和性能评估,为工程师提供了完整的实战指南,帮助快速验证和优化均衡算法,提升电池组一致性与寿命。

gitlab7runner的博客 897

Robot Framework 教程 (3) - Resource及关键字 的使用

在进行软件自动化测试时,我们设计并编写好一个测试脚本的业务逻辑之后,需要将其中的业务数据提取为变量,并对业务逻辑进行封装。在后续的测试过程中,只需设置每次测试的测试数据,而不必更改业务逻辑。 举个例子,我们对baidu搜索进行兼容性测试时,我们的业务逻辑是 [打开浏览器] - [输入搜索内容] - [点击搜索按钮] - [截图保存] - [关闭浏览器] 而对应的业务数据,就...

weixin_30656145的博客 566

海康威视SADP SDK实战:5分钟搞定局域网设备搜索(附C++代码示例)

本文详细解析了海康威视SADP SDK在局域网设备搜索中的高效应用,通过C++代码示例展示如何快速实现设备发现与信息获取。SADP协议支持全面设备信息采集和实时状态更新,适用于智能安防和物联网管理场景,帮助开发者5分钟内完成设备搜索功能集成。

rum55的博客 875

【AI应用实战-OpenCode】OpenCode安装部署(一)

OpenCode是一款2026年流行的开源AI编程工具,兼具轻量代码编辑器和智能编码代理功能。其核心优势包括:完全免费开源(MIT协议)、全平台兼容、支持75+大模型(含本地部署)、内置完整编程功能链(代码补全/Git集成/AI调试等),且所有数据本地存储确保隐私安全。相比Copilot等商业工具,OpenCode提供更自由的模型选择和零门槛使用体验。安装要求Windows10+/macOS12+/Linux主流发行版,仅需200MB空间和4G内存。该工具完美兼容VSCode生态,支持终端/桌面/IDE三种

2432

python自动化RobotFramework中userkeyword和resource文件(六)

用户关键字user keyword,类似于python中的函数,我们可以调用它实现特定的功能。

kymppcds的博客 589

9、双玩家博弈中的精确与近似纳什均衡及中国股市再融资偏好研究

本文研究了双玩家博弈中精确与近似纳什均衡的计算方法,提出通过线性松弛问题LR在多项式时间内求解正则双矩阵博弈的纳什均衡,并分析其在α-平滑博弈中的近似性能。同时,探讨了中国股市2001-2009年期间再融资偏好的动态变化,重点考察非流通股改革对再融资方式选择的影响。研究表明,改革前配股为主导,改革后公开发行(含定向增发)因溢价发行和低参与门槛成为主流,显著提升了资金募集效率和市场参与度。结合博弈论模型与实证分析,揭示了制度变革对企业融资行为的深远影响。

nn3456的博客 82

robot framework共享封装的关键字到其他文件--资源文件Resource

比如在执行多个功能的时候,都会用到登陆,为了避免代码的重复,所以可以将登陆等设置为资源文件 先参考封装关键字的前文:https://blog.youkuaiyun.com/wudada1993/article/details/107412451 实例:登陆之后,先查看用户列表是否有用户,如果有的话,先删除已有的用户,然后添加一个新用户 ,最后删除新添加的用户 创建一个资源文件rf1.robot (把登陆 ,添加用户 , 添加的用户存在新的列表,以及删除用户全部封装为关键字) #创建一个资源文件,以便于其他脚本共享封装.

wudada1993的博客 489

【部署】Docker部署OpenClaw及常见问题解决(win11)

给AI单独开一个隔离的小容器,AI执行所有命令、下载文件都在这个小盒子里,就算AI被诱导执行危险命令,也不会影响你Win11本机的文件和系统,是必开的安全功能。Docker容器里的OAuth回调,会尝试在你Win11本机的1455端口捕获认证信息,但容器和Win11本机的网络隔离,导致浏览器访问不到这个回调地址。「挂载」就是把你Win11本机的文件夹,共享给容器里的「虚拟小电脑」,两边都能读写文件,比如你想让AI操作你D盘里的代码文件,就需要挂载。

海兰 4699

图神经网络实战(5)——常用图数据集

Cora 和 Facebook Page-Page 是图神经网络领域中经常使用的两个基准图数据集,通常用来比较不同模型的性能。在本节中,介绍了如何使用 PyTorch Geometric 库提供的数据集类加载 Cora 和 Facebook Page-Page 数据集,并探索了两个数据集的主要特征。

盼小辉丶的博客 1万+

RobotFramework测试框架(10)--资源文件

RF资源文件是Robot Framework(RF)层面的库文件,其主要作用是提供一种共享用户关键字和变量的机制。资源文件中可以包含用来共享的用户关键字,也可以包含Variable表定义的变量。这使得在多个测试套件或测试用例中可以重用这些关键字和变量,提高了测试代码的可维护性和复用性。用户关键字类似于RF层面的函数,可以把多个关键字操作组成一个“宏”关键字。在RF中,用户关键字是通过Keywords表来定义的,其定义和写一个用例的写法很像,参数支持[Arguments]和返回值[Return]。

seanyang_的博客 681

基于潜在空间分数匹配的混合型表格数据合成方法

然而,在我们的模型中,β 预计会更小,因为我们不需要嵌入的分布精确地遵循标准高斯分布,因为我们还有一个额外的扩散模型。受 Transformer 在表格数据分类/回归任务中取得成功的启发,我们首先为每一列学习一个独特的标记器,然后将标记(列)级表示输入到 Transformer 中,以捕捉列之间错综复杂的关系。在第 4 节中,我们证明了通过这种设计,TABSYN 可以在不到 20 次函数评估(NFE)的情况下生成高质量的合成表格数据,这比其他基于扩散的表格数据合成方法要少得多。是标记器的可学习参数。

步子哥的博客 854

一个用于并发批量执行大量关键字的robot framework库。

这个库用于并发批量执行大量robotframework关键字。从而缩短案例执行时间。使用concurrent.futures.ProcessPoolExecutor进程池并发执行同一个robotframework关键字很多次。

刘一凡的博客 942

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

robot framework Resource管理关键字的使用

点击项目,右键,选择 New Resource 输入资源名称,使用txt 格式。创建好了就在资源名称上右键选择创建关键字。输入当前关键字的名称。在资源中引入第三方库 Selenium2Library  输入正确后显示的是黑色(表示库引入正常),输入错误显示的是红色。在关键字中编辑内容。完成后再测试套件中引入这个资源。资源引入正常显示的蓝色的。在测试用例中输入资源中的关键字。上图中我设置了一个参数,...

有一种人仅仅是认识就很好了的博客 4044

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RobotFramework基础篇(一):【工程、测试套件、测试用例】基础;【内置测试库、Resource资源文件、变量文件】的导入;;

一、工程、测试套件、测试用例的创建; 步骤一:创建工程 1.打开ride.py; File --> New Project --->在弹窗中,填写project name 选择文件类型Type:Directory 步骤二、创建测试套件 1.鼠标右键刚刚新建的project--->New Suite 在弹窗中,重点:文件Type:File,即下一级...

白骨梦儿 1621

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

RobotFramework简介及使用

一:RobotFramework的简介和特点 RF是一个基于Python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架,RF最新的版本是2019 年7月份发布,7月份之前只支持python2.7,7月之后支持3.X的版本 RobotFramework的特点 1:编辑用例简单,可以以robot,txt,tsv或者html的格式编写用例 2:自动生成html格式的测试报告和日志(HtmlTestRunner.py,allure) 3:除了自带的类库外,还有很多的实用的类库 4:可以根据项目的需要

测试领头羊 3万+

Robotframework中自定义库的加载及注意事项

1.自定义库的文件名必须与库的类名相同 如:文件名为HttpAutoLib.py则其类名必须为HttpAutoLibclass HttpAutoLib(object): def __init__(self): self.Http = E_Http('./config/http_conf.ini') self.MyHttp = My_Http('./conf

格物、致知、正心、诚意 1万+

robot framework -library resource variable 区别

如上:library为第三方库或自定义库,resource为自定义关键字集合,variables为自定义变量集合

jpmsdn的专栏 2440

RobotFramework 之 公共变量

RobotFramework 之 公共变量公共变量RF公共变量的使用list变量dict变量使用变量文件 公共变量 前面了解了通过资源文件对用户关键字进行管理,将重复的内容提取出来,简化测试用例中的操作步骤 common.robot *** Settings *** Library SeleniumLibrary *** Keywords *** 登录网易邮箱 # 打开chrome浏览器访问163邮箱 open browser https://mail.163.com/ ch

沉觞的博客 860

robotframework资源文件的使用

作用: 在用例或者套件初始化文件中创建的关键字或者变量,只能在定义它的文件中使用,如果写成资源文件,则只要引用此资源文件则可使用 定义资源文件,test_res.resource *** Variables *** ${var_1} abc # 定义变量 *** Keywords *** new keywords [Arguments] ${arg1} @{arg2} # 多个参数 [Documentation] 自定义关键字说明 [

z917185537的专栏 399

RobotFramework自动化测试框架的基础关键字

我们可以通过Set Variable 来定义一个变量,比如我们定义一个变量:var1,并且对这个变量赋值为Robot,然后将这个变量用log输出出来。【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)生命不息,奋斗不止。

shihuaizxc的博客 714

robot framework自动化框架——引用变量

哈哈,别惊讶,就是引用变量,真想骂人,基础不牢靠,就这么个知识点,我捣鼓了半天,才算搞明白。。。我已经开始怀疑自己的智商了。 场景是这样的,字典里引用变量,字典里是需要加引号的,而直接给变量,使用引号,那就不是变量了,废话不多说,直接上例子。 import execjs class DataHanding(): def encrpt_pwd(self, telephone, pa...

qq_41470573的博客 868

robotframework导入resource闪退解决方案

1.进入robotframework页面 2.进入Text Edit正文编辑区 3.在 *** Test Cases ***上起一行输入*** Settings *** 4.*** Settings ***输入完成点击Apply Changes进行应用修改 5.如图,进入Settings模式 (4中图) 6.Settings模式输入Resource resource.txt(此处有坑) 7.输入完成点击Apply Changes查看resource导入成功 ...

u013189545的博客 1125

Robot Framework创建资源文件及报错解决

一、新建资源文件 1.点击项目,右键,选择New Resource 2.输入资源名称,使用txt格式 3.创建完成后,选择该资源名称,右键,选择New User Keyword 4.输入当前关键字的名称 5.在该新建资源中引入第三方库Selenium2Library(显示为黑色正常,红色为引入错误) 6.编辑内容 多个参数之间用“ | ”隔开 二、新建资源引用 1.导入新建的资源文件 ...

ZY的博客 1169

怎么样导入RobotFramework 自定义关键字(库文件)

标准库关键字在使用的过程中,简单的需求还是可以满足。但是遇到有些需求还是不好满足的,还是需要自己去编码,自定义库文件关键字。 假设python的安装路径在D:/下面第一步:在D:/python/Lib/site-packages 建立库文件文件夹 MyLibrary 第二步:在MyLibrary 内建立 mytool.py 文件 这个文件里面写自己需要穿件的关键字既方法,如下代码里面有

小马哥(新博客地址 http://maruifu.cn ) 1万+
上一篇: Robot Framework使用For循环
下一篇: Robotframework+ride中test template的用法
whackw
博客等级 码龄16年 203粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值