51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

楼主: lsekfe
打印 上一主题 下一主题

[你问我来答第29期]:QTP录制过程中对象未识别的处理办法(已结束)

[复制链接]

该用户从未签到

61#
发表于 2012-12-21 10:48:00 | 只看该作者
回复 62# jack_loo

    我都把上面截图部分(也就是播放视频的窗体及左侧的相机都加入了对象库中,还是报这个错
回复 支持 反对

使用道具 举报

该用户从未签到

62#
发表于 2012-12-21 14:03:31 | 只看该作者
回63楼:

是的呀,由于它是动态生成,所以无论你如何预先加对象库,运行时总是错的。

对于动态变化属性的对象,我们的做法本质上有2条,一是用spy找出这个对象一些不变的属性,这些属性可以唯一识别对象,二是调用对象前先修改对象库中对象的属性值,使之与运行对象的属性值相同,然后再使用这个对象。

举例:
1. 如果发现WinObject("Afx")有3个属性,其中2个属性不变,winndow id这个属性每次都变化,那就把window id这个属性删除,但发现删除后无法唯一识别,再加属性,我们发现,加上属性值不变的rexpwndtitle属性后可以唯一识别对象。

2. 如果发现WinObject("Afx")的text属性每次都发生变化,但我知道它是如何变的,比如是“abc_”后面跟着一个从"c:\receive\common\abc.config.xml"文件中读取的字符串,那么我就在执行Dialog("SNTClient").WinObject("Afx")之前加一段脚本:
Dialog("SNTClient").WinObject("Afx").setToProperty "text" "abc_"&一个读取字符串的自定义的函数
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2018-6-11 16:01
  • 签到天数: 131 天

    连续签到: 1 天

    [LV.7]测试师长

    63#
    发表于 2012-12-25 10:07:00 | 只看该作者
    支持之后再看贴!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-4-15 09:53
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]测试连长

    64#
    发表于 2012-12-28 09:51:28 | 只看该作者
    为什么点击qtp录制,他打开IE,但是什么也没有显示,就是一片空白,我输入网址也没有用,请求高手回答啊,这个问题纠结了好久啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    65#
    发表于 2012-12-28 14:40:55 | 只看该作者
    您好,我想请问一下如何设置能让QC10导出的缺陷报告只有我想要的字段名?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    66#
    发表于 2012-12-31 11:02:04 | 只看该作者
    本帖最后由 zhilingying 于 2012-12-31 11:03 编辑

    专家你好,赶在12月的最后一天发帖,期待您的回复:
    1)运行脚本的时候,经常会碰到提示我对象无法识别的错误,但是针对同一个脚本,不是每次都会有这个报错,有时候能运行成功,不知道专家有没有碰到过,是怎么解决这个问题的呢?(有时无法识别的对象是:webedit)
    2)我们产品有个写信的功能,在收件人的文本框(webedit)中,支持输入简码,按回车键自动带出收件人全名,我是这样写的:
    Set wsh=CreateObject("WScript.Shell")
    Browser("浏览器").Page("页面").Frame("leftFrame").WebElement("写信").Click
    Browser("写信").Page("写信").WebEdit("简码").Set "zzz"
    Browser("写信").Page("写信").WebEdit("简码").Click
    wsh.SendKeys "{Enter}"
    wait 1
    运行不报错,但是每次都无法带出收件人全名,之前在同事机子上也这么操作,但是可以成功运行,不知道是怎么回事呢?专家帮我看看啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    67#
    发表于 2013-1-1 19:30:27 | 只看该作者
    两个下拉框,第二个下拉框的内容由第一个下拉框输入值决定,如第一个下拉框输入2,第二个下拉框只能输入0,1,2。如第一个下拉框输入4,第二个下拉框只能输入0,1,2,3,4。在选择第一个下拉框的时候,系统会运行一段脚本,获取到第二个下拉框可输入项。使用QTP录制脚本,运行到第2条报错,原因是第二个框找不到值2.这种情况应该怎么解决?
    Browser("XXXXXXX").Page("XXXXXX").Frame("Frame").ListEdit("第一个框").Select(4)
    Browser("XXXXXXX").Page("XXXXXX").Frame("Frame").ListEdit("第一个框").Select(2)
    (在中间等待足够长的时间也不行)
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 21:06 , Processed in 0.066912 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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