我会定期把我的测试心得和体会发表在这里,希望来阅览的每位朋友都有所获。即使没有,有一点启发,我也心满意足。我也欢迎您的留言,哪怕是对我的批评,或者是指出我的错误。

Cannot identify the object 的解决方法

上一篇 / 下一篇  2009-03-29 13:50:20

查看( 3682 ) / 评论( 19 )
经常有人问,回放脚本的时候出现了Cannot identify the object 的错误。如何解决?
Cannot identify the object是回放脚本时最常见的错误,解决的方法有:
     1,  增加Wait语句 或Sync 试试看看;
     2,  到对象库里面看看录制时对象的属性和回放时的属性是否不同。哪怕是对象的一个属性值发生了变化,最后都可能出现Cannot identify the object的错误;
     3, 如果还不行,你可以把这段代码删除,重新录制一下。这样也能解决问题。
     4,多回放几次试试看,说不定是因为网络的原因引起的。
   
这是我常用的解决方法。不知道别的朋友还有什么好的方法,也说出来讨论一下,这样大家的能力都能得到提高。

TAG:

denisye发布于2007-02-03 17:57:44
有个小小的经验
在有些操作后,系统会弹出dialog框,这时最好先对这个框先Active一下,然后再对框里面的对象进行操作。
风过无息 风过无息 发布于2007-02-03 21:40:56
补充:
1、有时候可能需要增加一些特殊的鼠标动作,比如鼠标的over时间等等。
2、有时候在对象无法识别导致的问题的时候需要使用虚拟对象来实现。
walker1020的个人空间 walker1020 发布于2007-02-05 09:20:51
谢谢denisye (denisye) 和  风过无息 提供了这些解决此问题的方法,也欢迎在更多的朋友提出自己的解决此类问题的方法。这样,新手遇到此类问题时不再感到茫然无助了。
SueR发布于2007-02-16 03:25:20
弱弱的问一下:

虚拟对象是什么?能举例说明?
Vanillalin发布于2007-03-01 11:41:09
我负责测试的产品是一个每周至少一次变更的产品,在回放过程中也经常遇到这个问题,通常都是重新录制出错的代码.
不过有时候很奇怪,试过几次,昨天运行的很顺畅,第二天在回放(期间没有变更过测试对象的代码),却所有对象都不能识别了.
高手能指点一下这是怎么回事吗?
SueR发布于2007-03-03 04:45:44
有人用过插入synchroniazation point么?
有效么?
蓝天伟测试之家 lantianwei 发布于2007-07-25 09:03:07
学习了
xishuai0328发布于2008-01-11 14:35:00
第二条比较有效
嘿嘿
今天有雾的个人空间 今天有雾 发布于2008-01-11 16:20:11
还有一种情况,对象库中明明记录了这人对象,可是录制的时候却没有录制到任何脚本,非要手工写脚本,不知道这种情如何会出现的哟
enix发布于2008-05-26 08:55:07
有时候第一次回放的时候 会出第二次就会出这个错误
请问这是为什么呢 有没有什么好一点的解决办法?
majun915的个人空间 majun915 发布于2009-02-04 13:42:03
全是英文  什么都看不懂啊 哎
duanguanwu发布于2010-07-12 08:44:29
回复walker1020:
   我是初学者
        1,  增加Wait语句 或Sync 试试看看;请问下是增加在哪个位置?
Snail's Home FLY000 发布于2011-03-29 13:42:34
http://bbs.51testing.com/thread-429997-1-1.html

这个问题 ,很奇怪,不知道怎么 解决
阳光之城 ljdfdd 发布于2011-03-29 15:51:37
haha....
moyiyun的个人空间 moyiyun 发布于2011-04-26 15:57:44
谢谢啦!我出现这个问题,加个wait(1)就好了。
linhd030的个人空间 linhd030 发布于2011-04-27 09:31:21
回复 13# duanguanwu

如果页面Page下有个Button对象,QTP必须在Page页面出现后才能获取该Button对象
一、这时候可以给Page页面做一个同步等待,如下
    Browser("Browser").Page("Page").Sync
    Browser("Browser").Page("Page").WebButton("Button").Click
二、也可以对Button对象做一个等待,如果10秒内Button对象出现,则对其执行click事件
If  Browser("Browser").Page("Page").WebButton("Button").Exist(10) Then
    Browser("Browser").Page("Page").WebButton("Button").Click
End If
三、
dim c_TimeOut
c_TimeOut=20
for i=1 to 20
if Browser("Browser").Page("Page").WebButton("Button").Exist(1) Then
Browser("Browser").Page("Page").WebButton("Button").Click
End If
wait(1)
If i=20 Then
'这里抛出错误提示
End If
Next

一般是这几种等待,其他的根据实际情况做修改,特别是第三种方法,可以对其做多种修改!
xjy0791发布于2011-05-03 11:35:31
回复 17# linhd030


    请教:Exist后面的数字代表什么啊?
像风一样的自由 five3 发布于2011-06-10 09:35:45
对象不能识别一般要根据提示来分析的,有的时对象库没有,有的时当前程序中没有,有些前面2个都有但还是提示错误,那就是qt回放寻找的路径和录制时的路径不一样,基本需要先分析后才能解决

错误解决方法可以去five3.blog.163.com查看
liuwenf110发布于2011-06-27 12:28:41
学习了
我来说两句

(可选)

Open Toolbar