Robot Framework自动化测试--- 分层思想

1592 篇文章 73 订阅
1439 篇文章 116 订阅

谈到Robot Framework 分层的思想,就不得不提“关键字驱动”。

关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同。

在上一节的selenium API 中所介绍的方法其实就是关键字,如“open browser” 就是一个关键字。从底层去看它就是一个通过编程去现实的一个方法。

def  open_browser(url,browser):
     #通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib、urllib模块将url传递给浏览器。从而实现open brwoser 的目的。

通过上面的伪代码表述的“关键字”的底层其实还是程序定义的方法。

回到分层的思想上,在程序设计的讲究设计模式,设计模式其实就是根据需求使用抽象与封装,其实就是分层思想。把一个实现过程分成不同多层。提高的灵活性,从而达到可扩展性和可维护性。

再回到自动化的话题上,我们可以把操作步骤封装一个一个的方法(关键字),通过调用关键字来实现测试用例。

https://blog.csdn.net/IT_LanTian/article/details/108624425

参考本系列的第一节创建一条百度搜索的测试用例。
在这里插入图片描述
我现在要写5条百度搜索的用例:
在这里插入图片描述
可以在Search测试套件下创建5条测试用例。其实对于每一条测试用例来说,只是搜索的内容不同,脚本步骤是完全一样的。这样做无疑增加的脚本的冗余,而且不便于维护。假如,百度输入框的定位方式变了,我不得不打开每一条用例进行修改。

我们可以过创建关键字的方式,从而实现分层的思想来解决这个问题。

Robot Framework 关键字

1、创建资源

右键“测试项目”选择“new resource”创建资源。
在这里插入图片描述
输入资源名称:
在这里插入图片描述
2、创建关键字

右键“业务关键字”选择“new User Keyword” 来创建用户关键字。
在这里插入图片描述
输入关键字的名称:
在这里插入图片描述
3、编辑关键字
在这里插入图片描述
分析:

对于一个测试用例来说,用户关心的是输入什么内容,得到什么结果。

所以,对于“百度搜索”关键字来说,需要创建两个接口变量 s e a r c h 和 {search}和 search{result} 两个变量,用于接收输入内容和预期结果。

点击Arguments输入框,定义变量,多个变量从用“|”隔开。

在百度用户中使用参数化变量。

在这里插入图片描述
4、添加创建的资源

切换到测试套件(Search)页面,添加资源(业务关键字.txt)

在这里插入图片描述
5、调用关键字

现在就可以在测试用例中使用创建的关键字了(百度搜索)。

在这里插入图片描述
对于每一条用例来说,调用“百度搜索”关键字,输入搜索内容,输入预期结果即可。不同关心用例是如何执行的。如果百度输入框的定位发生了变化,只用去修改“百度搜索”关键字即可,不用对每一条用例做任何修改。大大提高的用例的维护性和扩展性。

继续分层的设计:
在这里插入图片描述
到此,Robot Framework +selenium 自动化测试粗犷的讲完了。当然还有更多API 的使用,和细枝末节的设置没有介绍。但我们已经可以拿它来开展自动化工作了。

学习资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
在这里插入图片描述
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
在这里插入图片描述

RobotFramework⾯试题 ⾯试题 什么是 什么是 RF 基于可扩展关键字驱动的⾃动化测试框架 什么是可扩展关键字驱动 什么是可扩展关键字驱动 可扩展意味着可以⾃⼰开发,也可以调⽤第三⽅的关键字库 关键字驱动意味着测试⽤例都是围绕着关键字运⾏的 RF 的原理(框架?) 的原理(框架?) 测试数据和关键字库都是⾃⼰准备的 编写测试⽤例后,RF 解析测试数据,执⾏测试⽤例,最终⽣成测试报告 RF 只是⼀个⼯具,并没有和被测系统发⽣真实交互 RF ⽀持哪四种表? ⽀持哪四种表? Settings:全局配置表 Test Cases:测试⽤例集 Variables:全局变量表 Keywords:⽤户⾃定义的关键字表 ⽤例配置部分,想加前置、后置操作怎么写? ⽤例配置部分,想加前置、后置操作怎么写? [Setup] [Teardown] 如何给测试⽤例打标签 如何给测试⽤例打标签 在⽤例⾥⾯添加 [Tags] 如何按标签去执⾏测试⽤例 如何按标签去执⾏测试⽤例 命令⾏运⾏时,加命令⾏参数 --include 标签名 如何展开 如何展开list每个元素和 每个元素和dict的每个元素分别是什么? 的每个元素分别是什么? list:@{var} dict:&{var} 如果报找不到模块错误,在执⾏命令上加什么参数? 如果报找不到模块错误,在执⾏命令上加什么参数? --pythonpath 或 -P 如何指定执⾏测试⽤例和测试套件? 如何指定执⾏测试⽤例和测试套件? 命令⾏运⾏,加命令⾏参数:--test 指定测试⽤例,--suite 指定测试套件 rf ⾥相当于 ⾥相当于python 的 的 break 和 和 continue 的关键字是? 的关键字是? Exit For Loop和Continue For Loop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值