凤凰涅槃 浴火重生

同行概述QTP在项目中应用[0]

上一篇 / 下一篇  2010-10-28 10:17:23 / 个人分类:TestFile

感谢 飞鱼的传说  的分享

以下为整理内容:

    去年9月被抽调来做QTP,因为公司原来做QTP那位辞职了,那时候公司也才开始做,只有他一个,这位兄台写了一个框架,把对象的属性全存到数据库,利用表关联在脚本运行时动态建立对象结构识别对象,这个框架写得那叫一个天书,几乎没人能看懂。我一个人做了3,4个月,北美那边还有2个同事,才开始学QTP,所以不懂的问题也只有问她们,主要是看她们的代码,我们全是描述性编程,所有的操作全封装在Function里,看了她们的代码才知道原来vbs可以写得这么复杂。今年年初,来了2位高手,一个在HP干了3年,另外一个也是在上家公司带QTP团队的,公司开始砸钱了。这时候真正开始高速成长,我们公司系统前台是FLEX,加上后台service不是太稳定,同步是个大问题,所以脚本要考虑到这一点,必须在很多地方用不同的方式验证页面是否真正到达,现在我们做的就是维护一个自动化的API,所有的操作放到API里面,复杂的逻辑都写进Function里,在Action里直接添加检查点。现在想来做自动化最难的是什么,不是语言,不是QTP技术,而是解决问题的思路,当有的对象不能识别的时候这么绕过,当然最好找开发改,但是也需要想想办法绕过去,是否可用坐标,用坐标是否有偏差,是否可以通过TAB建从其他能识别的对象开始查找焦点,然后进行操作。
   最后说说所谓的框架,经常听人谈论,但是把自动化做成功这个一点不重要,而是脚本的质量,是否跑不挂,错误信息打印是否完整利于查找问题等等,框架只是一个改进,例如QTP批量跑脚本自带的testbatchrunner不好用,我们就用vbs自己写了个自动化QTP自身的小程序,跑完把结果输出到指定的文件夹。
   就说这么多

你如果把对象结构全写进function里,在Action里全是检查点,在每个脚本里关联functin library,对象更新了直接在function library里replace all就可以了,你用框架同样不可避免这样的问题

我们用到QTP的功能就是描述性编程去识别对象,场景恢复,虚拟对象,对象库都没用到,错误处理就是用的reportmanager对象在脚本里打印出错误信息,没进行更多的封装之类的,


TAG:

 

评分:0

我来说两句

fly_away

fly_away

MY GOD,暴雪居然敢让我家的DK骑羊!!!

日历

« 2024-04-15  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 11570
  • 日志数: 23
  • 图片数: 1
  • 文件数: 2
  • 书签数: 1
  • 建立时间: 2008-12-24
  • 更新时间: 2016-05-02

RSS订阅

Open Toolbar