多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

Ruby与QTP的关系-自动化测试

更新时间:2022-05-24 09:03:15 作者:多测师 浏览:77

  很对同学都学习过QTP,也在用QTP写脚本,尤其是商品线与店铺的同学,都制定出了用QTP写脚本的规范,而现在随着Ruby框架越来越稳定,使用的也越来越广泛,用Ruby写脚本是大势所趋。所以很多同学可能会担心,又要学Ruby了之前的QTP是不是白学了,会不会很难啊什么的。其实通过我的个人经验,我也是先写QTP再学的Ruby,如果对QTP有一定了解的话再来学Ruby还是容易的,毕竟2个都是自动化工具,实现的目的都是一样,模型人工进行页面操作,所以很多东西都是通用的,比如在利用dom思想的时候等等。下面介绍下两者的一个关系。

Ruby与QTP的关系-自动化测试

  1、从框架的角度看

  针对目前netbean框架,可以发现和QTP的框架有很多的相似之处。从编写一个测试用例出发,netbean框架中需要有page.rb、process.rb、testrun.rb、excel这四个文件。Page:对页面上需要操作的控件进行描述,这个就类似与QTP中的对象库只不过前者是通过用属性描述的方式来事先准备好操作对象,而后者是直接通过页面抓取的方式将需要操作的控件放到对象库中当然也可以用description方法描述对象。

  Process:以动作驱动的方式将page中的对象按照一个测试用例的操作过程组装起来,这 里的动作驱动即为一些具体的方法(目前在browser+method有很多现成的方法可以拿来用),这个就与我们在QTP中写的具体脚本类似,也是按照测试用例的操作过程将对象库中的对象进行操作,只不过前者不是具体的执行脚本,不包含执行用例时需要的一些数据参数,而后者可以直接用来执行脚本。

  testrun.rb+ excel文件:是netbean框架中用来执行用例的文件,在testrun.rb中调用process并将excel中的参数传入在testrun.rb中执行。这里的excel有点类似与QTP中的datatable ,可以在里面放入执行的各种参数。

  2、从写脚本的角度看

  当我们需要对某个控件进行操作的时候,例如对一个“我的淘宝”按钮进行点击的时候,之前我们用QTP的时候会先把”我的淘宝”控件先抓进对象库,然后用browser(**).page(**).link(“我的淘宝”).click实现点击,即从控件所在的浏览器browser到页面page再到控件link然后执行click,这样一个从大范围逐渐到小范围最后定位到控件进行具体动作这样一个过程,而现在如果用Ruby的话,其实也一样的:也是先确定@ie = Watir::IE.attach(:url,/daily.taobao.net/),然后在ie上定位link:@ie. link(:class,'mytaobao-entra'),最后执行click,完整的为:

  @ie = Watir::IE.attach(:url,/daily.taobao.net/)

  @ie.link(:class,'mytaobao-entra').click

  从上面可以发现,Ruby中用watir封装了很多的方法,可以直接用web对象的属性来定位控件,这个和在QTP中用的描述性编程非常相似,在QTP中我们除了直接抓取对象外也会利用description对象的属性来描述一个对象,而利用的属性也与Ruby里面出现的id,class,name等。

  3、利用dom思想

  Dom(Document Object Model文档对象模型)以树形的层次结构组织的节点或信息片断的集合,因此可以利用页面对象之间的“位置”关系来访问到需要的(结点)对象。同时dom又是与浏览器,平台,语言无关的接口,使得你可以访问。因此,无论是QTP还是Ruby都能通过dom访问web页面其他的标准组件。

  以上内容为大家介绍了自动化测试中的Ruby与QTP的关系,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部