对象库编程VS描述性编程

对象库编程和描述性编程的区别?    
    描述性编程采用的是描述属性的方式来识别对象,不需要对象库。开发的脚本可移植性强。不过对于脚本的编写能力也比较的强。
    对象库编程则是完全依靠QTP自带的对象库进行识别对象,有些限制,对象库如果出现了一些对象属性的变动或者是脚本一到别的机器上,可能就不能识别对象,导致不能回放脚本。

专家建议,刚开始学习是使用对象库编程进行学习QTP的自动化流程,熟悉后再进行描述性编程的开发,不过对于描述性编程,你需要学好正则表达式是主要的。
最近也在弄努力克制,不能完全依赖对象库编程,每次发新版本,回放脚本总出问题,这是相当令人头疼的问题。加油啦!学习描述性编程。

对象库编程和描述性编程各自的优缺点?
  自动化脚本编写都涉及到对控件的操作,那么是把这些要操作的控件放在一起进行管理,还是把控件放到脚本中在操作时进行描述呢,这一直都是很有争论的问题。两种操作方式都有其优劣,不能绝对的说其中某一种一定比另一种好,根据不同的应用场景,选择不同的操作方式,才能扬长避短。 

对象库,就是把控件放在一处地方集中进行描述、管理,使用时只需要使用该控件的别名即可。如:

LoginPage.StandButton.click

它的优点

一、这样的脚本看起来很简洁

二、控件的描述只需要在对象库做一次,不需要反复的在脚本中做

三、如果控件发生了变化,那么你需要做的仅仅是维护对象库,不需要去维护所有的脚本

四、控件对象可以共享,你做过的工作,不需要别人再来做一次

五、对象库可以提前构建,不依赖对象的具体实现,这样我们的测试脚本也就可以提前编写,推动整个自动化工作前移

六、其它…………

它的缺点

一、脚本是很简洁了,但其可读性变差了,至少增加了读脚本的成本

二、既然放在一地方进行维护,就涉及到命名规范的建立,否则就会乱

三、维护的时候,加大了评估所带来的影响的难度,因为你可能不知道这个对象在哪里被引用了

描述性编程,就是在编写测试脚本时描述需要操作的控件。如:

p.button(“#name_submit”).click

它的优点

一、脚本编写很灵活

二、脚本可读性相对对象库来说,会好很多

三、整个自动化测试框架会相对简单,带来的是自动化测试相对稳定

四、一定程度上降低了脚本之间的耦合性,控件的维护不会影响到其它脚本

五、其它…………

它的缺点

一、最大的缺点是显而易见的,脚本的维护难度加大了,如果控件发生了变化,维护的工作量很大

二、控件的描述要反复的做,不能共享

三、测试脚本相对来说变的复杂了,没有对象库的脚本简洁

四、正是因为脚本的编写依赖着控件的描述,所以脚本的编写也很难提前

上面罗列了部分两种操作模式各自的优缺点,如何做出正确的选择,就需要根据应用场景有所取舍。

取舍:对于大型的、持续优化的被测系统,对象库使用的选择要优与描述性编程,这种场景下的自动化测试不是各自独立的,不是临时性的。对象库的前期投入,表面上可能是会加大自动化的成本,但它的共享和维护都降低了后续自动化的成本,而且为自动化测试脚本的关键字驱动打下了基础,并且可以推动控件定义中的一些标准和规范的实施,这是可以提高被测试系统的可测试性以及稳定性。

对象库编程VS描述性编程转载自:http://blog.163.com/tech_qa/blog/static/13017634920105179235405/

版权归原创作者所有

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值