QTP测试delphi程序

上一篇 / 下一篇  2011-04-02 09:52:55 / 个人分类:QTP学习

近来接到项任务,用QTP测试delphi写的一个程序,识别对象问题成了大难题。下面说一下在解决这个问题中的一些经历:

首先,下了一个QTP9.2的版本,发现不识别delphi,于是根据网上网友的意见,下了个8.2的delphi插件,安装上后,可以进行识别,大喜,在制作脚本时,QTP时常死锁,也就是崩溃(我也快崩溃了),几个小时的时间,电脑死机两次,查找解决方法,网上貌似没有查找到改处理方法,据说目前无法解决。

然后,根据查询的资料,下QTP10.0,用自带的delphi插件(在安装QTP时,要勾选上安装delphi插件,默认是不安装的。),装上后,可识别,录制的对象前都会带上“delphi“标志,录制完毕,大部分步骤无法回放,而且是一回放,QTP立马提示"未知错误",网上查询结果是未配置delphi。配置步骤如下:

配置delphi(中文)
1)        将<QuickTest Professional Installation folder>\dat\Extensibility\Delphi 包含到你的工程。通过设置library path或者将该文件夹复制到你的工程所在目录等方式都可以。
2)        添加 MicDelphiAgent到工程文件的Uses部分。例如:
program flight;
uses
      MicDelphiAgent,
      Forms,     
Windows;
($R*.RES)
begin
       Application.Initialize
       Application.Title :='Flight Reservation';
       Application.Run;
end.

但在QTP10.0的安装目录下,未找到步骤1的路径,后来查到10.0要安装补丁,于是安装补丁QTP_00591.exe,路径出现,完成了第一步。但第二步可能需要研发人员去操作,鉴于公司流程繁杂,难以实现,于是放弃。

想从写脚本的技术上解决该问题,于是查找到可以用对象映射的方式来解决,对象映射完毕,录制时也识别准确,但回放时仍不识别,杯具。

逼于无奈,还是用了描述性编程,由于QTP识别的所有控件都是winobject,在对象的操作方法上有限制,最后决定用对象映射先识别对象名称,然后再用描述性编程来写脚本,解决!(之所以不用QTP10.0的自带插件识别对象名称,是因为:第一,插件试用期只有15天,好像没有破解插件的办法,只能过期后用清空信息来延长使用时间,比较麻烦;第二,用QTP识别出的对象,都带有delphi标志,写起来麻烦。)

PS:插件延长办法:控制面板-添加删除程序中删除所有附加插件,使用REGCLEAN注册表软件清理一下注册表,打开QTP一次, 再安装QTP95所需插件,打开QTP95,熟悉的13天又回来了.


TAG:

小街深巷的个人空间 引用 删除 小街深巷   /   2016-07-18 09:04:58
5
小街深巷的个人空间 引用 删除 小街深巷   /   2016-07-18 09:04:47
很认真的读完了。然而,我还是刚刚学习UFT的,操作起来好困难的说。但是还是很好的。问题能解决就好啊,困难了我好几天的情况。
liyang.test的个人空间 引用 删除 liyang.test   /   2016-06-27 11:45:57
5
罗赞 引用 删除 itzan   /   2013-11-14 17:46:31
5
顺藤摸瓜 引用 删除 huangcm   /   2013-02-04 17:25:18
-1
venur的个人空间 引用 删除 venur   /   2011-04-13 14:54:37
对,不过目前部门可能不会同意重新编译,呵呵,所以用了描述性编程加映射对象的方法,目前来说基本可以都能用了。
TIB 引用 删除 TIB   /   2011-04-02 19:19:28
不重新编译Delphi的话始终不是最好的解决办法,尤其是碰到第三方控件、自定义控件的时候
 

评分:0

我来说两句

Open Toolbar