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

转载 2015年07月10日 05:49:23

本文转自虫师

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

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

 

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

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

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

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

 

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

 

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

 

http://www.cnblogs.com/fnng/p/3871712.html

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

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

 

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

 

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

 

Robot  Framework 关键字                      

 

1、创建资源

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

输入资源名称:

 

 

 

2、创建关键字

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

 

 输入关键字的名称:

 

 

 

3编辑关键字

 

分析:

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

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

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

 

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

 

 

 

4、添加创建的资源

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

 

 

5、调用关键字

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

 

 

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

 

 

继续分层的设计:

 

 

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


Robot Framework完整流程学习--分层思想

一.环境搭建 网上有很多的教程,这里就不多讲了   二.RIDE的界面认识 Framework完整流程学习系列一" title="Robot Framework完整流程学习系列...
  • zmdzbzbhss123
  • zmdzbzbhss123
  • 2016年08月24日 15:27
  • 1619

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

Robot Framework自动化测试---分层思想 谈到Robot  Framework 分层的思想,就不得不提“关键字驱动”。 关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同。 ...
  • lm_soso
  • lm_soso
  • 2014年12月26日 11:36
  • 1081

robot framework 使用四:分层设计和截图以及注意事项

再说一下目前的主要环境信息和版本: 操作系统:win7 64位 python版本:2.7.6 RIDE版本:1.2.3 selenium2library:1.5.0 selenium:2.4...
  • lijiming2185
  • lijiming2185
  • 2014年04月22日 17:07
  • 3581

Robot Framework 分层&模板的使用

Robot Framework 分层&使用模板 为了能够说明问题,我们现在假设一个场景: 我们需要输入一个参数x, 如果x等于1,就输出 1,否则输出2 。 第二个参数是我们需要控制的后续操作的用户关...
  • Jasonliujintao
  • Jasonliujintao
  • 2017年01月19日 16:02
  • 1528

Robot Framework 自动化测试框架 学习方法 开源代码

Robot Framework 是业界口碑比较不错的自动化测试框架, 官方网站:http://robotframework.org/ 网站的首页非常值得仔细一看,如果对英文不太干嘛,那么就用chr...
  • huhuliuxia
  • huhuliuxia
  • 2017年04月18日 23:01
  • 1357

robot framework 分层设计和截图以及注意事项

操作系统:win7 64位 python版本号:2.7.6 RIDE版本号:1.2.3 selenium2library:1.5.0 selenium:2.40.0 pi...
  • a5650892
  • a5650892
  • 2017年09月03日 21:36
  • 251

robot framework 接口自动化测试

接口测试比UI测试更有价值,如果项目时间紧张,测试接口更好一些,但每次都频繁的手工填写接口进行测试也浪费时间,下面给大家介绍一下很好的自动化测试框架robot framework,并且做接口自动化测试...
  • a5650892
  • a5650892
  • 2017年09月24日 09:40
  • 378

学习使用Robot Framework自动化测试框架(二)——简单测试例子

上篇文章介绍了Robot framework的环境配置与安装,这一篇介绍如何使用RIDE创建并执行一个简单Web测试用例。 1. 新建一个project,Type选择Directory,Format...
  • u012145166
  • u012145166
  • 2015年12月01日 17:35
  • 4916

Robot Framework自动化测试框架(三):Android自动化

摘要: Robot Framework自动化框架之基于Appium进行的Android自动化测试,让测试变得更简单。正文: 1.环境搭建: 建议搭建Android开发环境,因为需要调用emulat...
  • Temanm
  • Temanm
  • 2016年05月17日 17:26
  • 3891

学习使用Robot Framework自动化测试框架(三)——简单组合测试例子

上一篇介绍了如何使用RIDE来创建和执行一个简单的测试用例,这一章节开始将会系统一些地介绍测试用例的组成以及如何更好地设计用例。之前曾经说过,Robot Framwork框架的核心是关键词,所有用例都...
  • u012145166
  • u012145166
  • 2015年12月02日 16:47
  • 3189
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Robot Framework自动化测试(四)--- 分层思想
举报原因:
原因补充:

(最多只允许输入30个字)