51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1959|回复: 5
打印 上一主题 下一主题

[原创] QTP 中,add to watch之后QTP会死掉

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-1-16 09:56:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我经常会遇到要调试某个对象时,将对象add to watch, 之后QTP就死掉了。大家遇到过没?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-1-16 10:49:19 | 只看该作者
‘某个’,这说明LZ对引起这个错误的点没有搞清楚啊。

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

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    3#
    发表于 2013-1-16 11:51:59 | 只看该作者
    只有某个对象会发生这样的情况么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2013-1-16 13:25:27 | 只看该作者
    为了验证问题我进行了如下步骤:
    1 杀掉qtp进程
    2 重新打开QTP
    3 run testcase
    4 发现那个对象不存在。
    对象不存在是问题的根本原因,但我纠结的是,为什么QTP会死了,无法结束debug状态。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 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,不要幻想整行一次查看)。
    先看基本变量obj  c  d  
    然后是次级funcC(d) , Obj.FuncB(c) ...
    这样你才能找出错误的原因
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2013-1-16 21:21:24 | 只看该作者
    我知道qtp有个bug,在对某些对象,如表格,进行子项枚举时,循环结束前不能有其他操作,否则可能出现异常
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 15:37 , Processed in 0.063472 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表