转发并补充一点关于对象库的内容

2010-08-17  胡朴 

[转]
今天看到一篇博文:对象库VS描述性编程(http://qa.taobao.com/?p=5662), 其中对对象库优缺点的描述十分的赞同: 对象库,就是把控件放在一处地方集中进行描述、管理,使用时只需要使用该控件的别名即可。如:

         LoginPage.StandButton.click

         它的优点:

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

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

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

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

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

它的缺点:

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

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

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

对于第一条缺点,我认为还不至于那么影响,只要在脚本里加清楚注释,描述好业务,并且对象名称起得够有语义的话,可读性反而会更强。第二条缺点正是我深受其害的,规范的建立既需要考虑业务知识,又需要考虑团队的使用习惯,制定好的规范难,就算有了好的规范,如果规范不是强制执行的话,那还是等着乱吧。第三条缺点其实也是可以解决的,只要给对象库中对象建立统一的引用,当对象有更改时,所有引用了这个对象的脚本就会自动更新。

lmsg100补充:

对于对象库,我是很有心得了,当年研究RFT的对象库管理真是能够吐血啊,不过后来录制和查找两种方式下

的对象都被我管理的井井有条,还是很有欣慰的。

上面兄弟提到的早早的建立命名规范,这一天我想到的比较早,所以这方面我没有吃过亏。

对象库最好还要区分公共对象库和私有对象库,区分管理。

自动化如果想做好,一定要管理好控件对象,否则对于GUI自动化来讲就是一场噩梦

 

 

257°/2579 人阅读/0 条评论 发表评论

登录 后发表评论