51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1520|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-13 14:22:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
谈到Robot  Framework 分层的思想,就不得不提“关键字驱动”。



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

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

def  open_browser(url,browser):
     #通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib、urllib模块将url传递给浏览器。
从而实现open brwoser 的目的。
通过上面的伪代码表述的“关键字”的底层其实还是程序定义的方法。



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



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





参考本系列的第一节创建一条百度搜索的测试用例。



我现在要写5条百度搜索的用例:



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



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



Robot  Framework 关键字                     



1、创建资源

右键“测试项目”选择“new resource”创建资源。



输入资源名称:







2、创建关键字

右键“业务关键字”选择“new User Keyword” 来创建用户关键字。



输入关键字的名称:







3、编辑关键字



分析:

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

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

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



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







4、添加创建的资源

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





5、调用关键字

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





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





继续分层的设计:





到此,Robot  Framework +selenium 自动化测试粗犷的讲完了。当然还有更多API 的使用,和细枝末节的
设置没有介绍。但我们已经可以拿它来开展自动化工作了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-18 00:23 , Processed in 0.066717 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表