51Testing软件测试论坛

标题: QTP 中,add to watch之后QTP会死掉 [打印本页]

作者: wonderful4228    时间: 2013-1-16 09:56
标题: QTP 中,add to watch之后QTP会死掉
我经常会遇到要调试某个对象时,将对象add to watch, 之后QTP就死掉了。大家遇到过没?
作者: xjwldlover    时间: 2013-1-16 10:49
‘某个’,这说明LZ对引起这个错误的点没有搞清楚啊。

分解这一行的所有基本变量,比如a,b,c,查看是否有值异常;
分析次级变量,看是否触发错误,比如 func(a)
分析再次级。。。
作者: 黑羽祭    时间: 2013-1-16 11:51
只有某个对象会发生这样的情况么?
作者: wonderful4228    时间: 2013-1-16 13:25
为了验证问题我进行了如下步骤:
1 杀掉qtp进程
2 重新打开QTP
3 run testcase
4 发现那个对象不存在。
对象不存在是问题的根本原因,但我纠结的是,为什么QTP会死了,无法结束debug状态。
作者: xjwldlover    时间: 2013-1-16 14:03
回复 4# wonderful4228

你的处理方式和问题的表现不一致,我看不出你的验证步骤目地何在。
假如使用你自己的方法搞定错误了,你怎么规避该错误再此发生?
假如本行代码为
set a =  Obj.FuncB(c).Item(funcC(d).property)
qtp运行到这一句后“死掉”了,通过你的以上方法你怎么能判断什么地方出错了呢,
所以,你必然要将set a =  Obj.FuncB(c).Item(funcC(d).property)分解,看哪个变量、哪个方法引起的“死掉”(运行到该代码的上一行,然后逐个变量使用add to watch,不要幻想整行一次查看)。
先看基本变量obj  c  d  
然后是次级funcC(d) , Obj.FuncB(c) ...
这样你才能找出错误的原因
作者: slook    时间: 2013-1-16 21:21
我知道qtp有个bug,在对某些对象,如表格,进行子项枚举时,循环结束前不能有其他操作,否则可能出现异常




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2