QTP常见运行错误问题解答
上一篇 / 下一篇 2007-12-15 20:26:35 / 个人分类:—— QuickTest Pro
QTP常见运行错误问题解答
E/v(tR,gnj051Testing软件测试网!Y,|n o*_.LZm}
51Testing软件测试网)Cc(Q%Sfv:jHo51Testing软件测试网e*TXws@H'{
1. 不能识别对象(Cannot identify object)出现了这个错误时,就表示当前被测程序的窗口中没有符合条件的对象。51Testing软件测试网,GI$fq-BK}]51Testing软件测试网!En+m{#q;d
出现这种错误,可能的原因有以下两种:51Testing软件测试网w#WT1F4mJ6c4m L51Testing软件测试网JH k@l
>>> 对象此时在程序中没有显示或不存在。51Testing软件测试网 sv!S;`)@v+].Rf2C5v7`z0>>> 在程序中存在该对象,但是它的描述在后来发生了改变,导致与对象仓库中存储的信息不匹配,从而QTP无法识别对象。5g_ r:{z0
3]XQ:?#CC_F0如果你正遇到“Cannot identify object”的问题,解决方法见1.1。f]-zN{Lz8A/T d8a0
&a(j6DWmrx01.1 如何去识别对象描述(Identifying Test Object Descrīption Problems) 如果你能在被测程序中看到对象,但仍出现了“Cannot Identify Object”错误信息,这就表示仓库中对象的描述与程序中对象的描述一定存在着差异。c ak%c HF0
+xJ-cTS&|._$p+\%F0 解决对象描述问题的第一步是找到差异,最简单的方法是将仓库中对象的属性值与程序中对象的属性值进行比较。(仓库中对象的属性值可在Object Repository窗口中查看,程序中对象的属性值可用Object Spy功能查看。)51Testing软件测试网.S'`7^b G-o51Testing软件测试网uI(J$mpZT
比较仓库中对象的属性值与程序中对象的属性值的操作见1.3。51Testing软件测试网C!e]o'i.N4Gbr5k-xc}+Ee8]/z0在完成比较后,是否发现存在差异?51Testing软件测试网'n4G S-me]&OZ&kZH0~]0如果是,请参考1.4;51Testing软件测试网*^%m5p*p%~t R&Y%i"wa:A'?bwIA0如果否,请参考1.5。 51Testing软件测试网W"R C6HeN8i f3Ic-bi&c O R+W5IG"?01.2 处理对象丢失问题(Solving Missing Object Problems)在运行脚本时,QTP尝试进行某种操作,而该操作的对象在程序中却没有出现,出现这种情况的原因有以下几种:[*j/}r&C4M E%`_0
2R'_6DV{1uE;V6y0>>> 对象不再存在。对象已经被从程序中删除。51Testing软件测试网x2T/F(?%yYk"w51Testing软件测试网M F:fta6x)E$S
解决方法:见1.2.1。51Testing软件测试网 mk-@~[eVW51Testing软件测试网 }z!UPck4\2q9~ji\
>>> 对象还没有装载。"VDI8Cqa~0
2`(s5B]'k]6I Z:U ]0解决方法:见1.2.2。VZ4y5mM'|7A051Testing软件测试网ad ~GJV-{
>>>当前的程序页面(或窗口)不正确,不是对象所在的页面(或窗口)。&dv m/[5K0
M eIICWH0解决方法:见1.2.3。51Testing软件测试网)M"MQ;l;A;D'X2N q/Ih-?R~c)z E l0>>>前一个步骤没有正确执行。51Testing软件测试网 d%u okZ N"F5g&D51Testing软件测试网hF8N"Z5Yw
解决方法:见1.2.3。FGbO5I#k0
Km(@&nK:E/db01.2.1 解决对象不再存在的问题如果对象已经不再在被测程序中存在,则应在脚本中修改或删除相关步骤。'pt'|/w(?Ko051Testing软件测试网B"e:uK_Y{
1.2.2 解决对象装载超时的问题如果对象丢失的原因是因为没有足够的时间装载,尝试以下解决方案:6K)[/lC8^051Testing软件测试网c,~3aMZ0D
a.对于Web对象,增加Browser Navigation Timeout(File>Setting>Web页签)时间。*v1fU'Oj$Fb@x$j051Testing软件测试网"j7K@mA'h k\+\'M.P
b.在包括该对象的步骤前使用Wait语句,让QTP在执行该步骤之前等待一段时间。)@]0aI G"f3S l#N u051Testing软件测试网O,y(v|6X+Wq-cQ
1.2.3 检查前面步骤的执行情况如果是因为打开了错误的页面(或窗口)导致对象丢失问题,或因为前一步骤执行措误导致对象丢失问题,则请按以下方法检查原因:51Testing软件测试网+Y8KOxB(YiyXe:Qv _0a. 如果怀疑在完成脚本后,被测程序又发生了改变,则检查对象的继承关系以及对象描述。参考1.1。51Testing软件测试网$T&Ky;i%C:Xq51Testing软件测试网l WO,ZHgKH
b. 如果怀疑脚本错误,则检查脚本的每一个步骤。你可能是遗失了某个步骤,也可能是使用了不正确的方法或参数$d&x9m^"o2_5m&x,v^\g051Testing软件测试网{)^f$b2Eot%D
1.3 测试对象的属性值与Run-time对象的属性值的比较(Comparing Test Object and Run-Time Object Property Values)根据以下的步骤比较测试对象与Run-time对象的属性值:iHd3y%a\L0b051Testing软件测试网sFf7u?h#T
1) 进入Obecjt Repository窗口(Resources>Object Repository),选择对象。3M mJpg2j.B0