wonderful4228 发表于 2013-1-16 09:56:04

QTP 中,add to watch之后QTP会死掉

我经常会遇到要调试某个对象时,将对象add to watch, 之后QTP就死掉了。大家遇到过没?

xjwldlover 发表于 2013-1-16 10:49:19

‘某个’,这说明LZ对引起这个错误的点没有搞清楚啊。

分解这一行的所有基本变量,比如a,b,c,查看是否有值异常;
分析次级变量,看是否触发错误,比如 func(a)
分析再次级。。。

黑羽祭 发表于 2013-1-16 11:51:59

只有某个对象会发生这样的情况么?

wonderful4228 发表于 2013-1-16 13:25:27

为了验证问题我进行了如下步骤:
1 杀掉qtp进程
2 重新打开QTP
3 run testcase
4 发现那个对象不存在。
对象不存在是问题的根本原因,但我纠结的是,为什么QTP会死了,无法结束debug状态。

xjwldlover 发表于 2013-1-16 14:03:06

回复 4# wonderful4228

你的处理方式和问题的表现不一致,我看不出你的验证步骤目地何在。
假如使用你自己的方法搞定错误了,你怎么规避该错误再此发生?
假如本行代码为
set a =Obj.FuncB(c).Item(funcC(d).property)
qtp运行到这一句后“死掉”了,通过你的以上方法你怎么能判断什么地方出错了呢,
所以,你必然要将set a =Obj.FuncB(c).Item(funcC(d).property)分解,看哪个变量、哪个方法引起的“死掉”(运行到该代码的上一行,然后逐个变量使用add to watch,不要幻想整行一次查看)。
先看基本变量objcd
然后是次级funcC(d) , Obj.FuncB(c) ...
这样你才能找出错误的原因

slook 发表于 2013-1-16 21:21:24

我知道qtp有个bug,在对某些对象,如表格,进行子项枚举时,循环结束前不能有其他操作,否则可能出现异常
页: [1]
查看完整版本: QTP 中,add to watch之后QTP会死掉