51Testing软件测试论坛

标题: 关于qtp找不到对象 [打印本页]

作者: chong_zuo    时间: 2007-3-20 18:53
标题: 关于qtp找不到对象
我录的步骤是这样的

1.   在outlook中新建一封邮件

2.   输入收件人地址

3.   在邮件的subject中输入”fuck”

4.   发送邮件

5.   这个时候我的被测程序会弹出对话框(因为输入fuck这种非法词语了,要拦截)

6.   点对话框中的send。(1.jpg)



录制结束

当我回放的时候,QTP找不到步骤6中的send button,出不能识别对象那个错误

按照帮助文档,我在对象仓库中检查了send button的属性然后又spy了一下(object repository.jpg spy.jpg)

我的问题是:我应该改哪些数据  让qtp能找到send button呢?怎么做呢?

我试过的方法:1.添加send button的属性 regexpwndtitle ,regexpwndclass的值到脚本中
                   2.在对象识别中,设置成regexpwndtitle ,regexpwndclass,text设置成强制属性
不过都失败了,用方法1,在点send button那步还是出相同的错  用方法2 在 "2.   输入收件人地址"这步就出错了  还是不能识别对象这个错.我觉得这个方法就是 想让qtp强制识别B 而定义了B的属性  结果A却都识别不了了.

ps:.大家可否留下msn或QQ,以方便联系,我的QQ85133238.我刷论坛特别慢,而且白天工作刷网页不太好.(尽管是为了工作)

[ 本帖最后由 chong_zuo 于 2007-3-20 19:32 编辑 ]
作者: su27lj    时间: 2007-3-20 19:27
用spy++看一下它的属性
作者: simonepang    时间: 2007-3-21 14:38
不识别对象哦,那就用虚拟对象或者描述性编程吧
作者: chong_zuo    时间: 2007-3-21 16:16
标题: 我用过的方法
我用过的方法:

1.修改对象仓库中这个button的属性 我发现 regexpwndtitle,regexpwndclass,text这三个属性值是不变的 所以我把他们设置成"强制属性"   但失败了  因为回放的时候在"输入邮件人地址"这步就过不去了  还是出不能识别对象那个错.我想这是因为  根据那三个强制属性   QTP无法识别  outlook的输入对话框了. 另外我根据spy outlook得到的一些属性值   再个send button对比  找出相同的  和不同的   然后把他们的共性作为强制属性   但还是失败了  这里我试了多中组合  就不一一在词列举了

2.修改脚本  填加 winobject("regexpwndclass : =windowforms10button,regexpwndtitle:=send") 不过还是识别不了

3.填加虚拟对象  这个方法成功了  但我觉得这个不是最好的方法   因为一旦以后的case有跟这个button的位置重复的   那肯定会出错

我觉得方法1和2是可行的  应该是我做的不对  请大家指教   如果觉得发帖不方便的话请加我msn:lhnwxjc@hotmail.com     QQ:85133238     欢迎大家
作者: 风过无息    时间: 2007-3-21 18:28
描述性编程的语法是否有点问题:
winobject("regexpwndclass : =windowforms10button,regexpwndtitle:=send")
应该是:
winobject("regexpwndclass : =windowforms10button","regexpwndtitle:=send")
作者: saintlord    时间: 2007-3-22 11:38
帮顶,关注中
作者: saintlord    时间: 2007-3-22 11:59
不过我觉得楼主说的1,2两种方法未必可行,QTP不是什么对象都可以识别出来的。




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