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: