51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4387|回复: 19
打印 上一主题 下一主题

[原创] 总是提示对象不匹配,咋办啊?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-16 08:58:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚开始学习QTP,做了一个总是不识别对象,总是报错,错误如下:
Cannot identify the object "arrPort" (of class WebList). Verify that this object's properties match an object currently displayed in your application
我的代码如下:
Browser("销售系统").Page("销售系统").WebEdit("userid").Set "cos"
Browser("销售系统").Page("销售系统").WebEdit("passwd").SetSecure "486839179f66dc99"
Browser("销售系统").Page("销售系统").Link("登 录").Click
Browser("销售系统").Page("网上销售系统").Frame("menu").Link("国际客票").Click
Browser("销售系统").Page("网上销售系统").Frame("menu").Link("在线预定").Click
Browser("销售系统").Page("网上销售系统").Frame("main").WebRadioGroup("flightType").Select "1"
Browser("销售系统").Page("网上销售系统").Frame("main").weblist("depPort").Select"Guang zhou  广州"
Browser("销售系统").Page("网上销售系统").Frame("main").weblist("arrPort").Select"BANGKOK 曼谷"
Browser("销售系统").Page("网上销售系统").Frame("main").Image("calendar").Click
Page("Page").WebElement("<<").Click
Browser("销售系统").Page("网上销售系统").Frame("main").Link("散客订票").Click
Browser("销售系统").Page("网上销售系统").Frame("main_2").WebRadioGroup("cb_type").Select "citytime_cb1"
Browser("销售系统").Page("网上销售系统").Frame("main_2").WebList("Select1").Select"Guang zhou 广州"
Browser("销售系统").Page("网上销售系统").Frame("main_2").WebList("Select1_2").Select"BANGKOK 曼谷"
Browser("销售系统").Page("网上销售系统").Frame("main_2").Image("calendar").Click
Page("Page_2").WebElement("<<").Click
Browser("销售系统").Page("网上销售系统").Frame("main_2").Link("机票查询").Click
Browser("销售系统").Page("网上销售系统").Frame("main_2").WebElement("WebTable").Click
Browser("销售系统").Page("网上销售系统").Frame("main_2").Link("下一步").Click
Browser("销售系统").Page("网上销售系统").Sync
Browser("销售系统").Close
哪位高手可以指导一下啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-16 09:14:34 | 只看该作者
你用 SPY 去看这个 weblist("arrPort")对象看里面的属性值跟对象库的是否一直,
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-7-16 09:17:56 | 只看该作者
也可以通过
if Browser("销售系统").Page("网上销售系统").Frame("main").weblist("arrPort").exist(5) then
msgbox "存在,吃糖"
else
msgbox "不存在,吃棒"
end if
看这个对象是否存在,不存在估计就是对象的属性有问题
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-7-16 09:29:05 | 只看该作者
又是明显的对象问题,ToString一下,看看对象是否获取到了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-7-16 09:36:52 | 只看该作者
我把对象属性和SPY的结果都截图在附件了,麻烦再帮我看看需要修改什么吧,谢谢了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-7-16 09:41:54 | 只看该作者
从你选择的对象识别属性来看,光arrPort应该是足够识别这个对象了的
你先把这个对象highlight一下试试,看看能不能显示
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-7-16 10:52:53 | 只看该作者
存在,吃糖;不存在,吃棒!有意思。。。。
HighLight一下,看看对象村不存在应该比较好使,或者会不会你对象库里有多个这个对象了?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-7-16 10:58:29 | 只看该作者
是的还有一个对象:depPort是和这个一样的,这个该怎么处理阿?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-7-16 12:01:02 | 只看该作者
这个不是了,出发点和到达点是两个不同的对象么,只是他们属于同一类,我的意思是会不会有两个到达机场?比如用_1和_2区分
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-7-29 10:04
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]测试团长

    10#
    发表于 2008-7-16 15:38:30 | 只看该作者
    每条语句后加个wait语句,等待个几秒钟,看好不好用。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2008-7-17 09:51:49 | 只看该作者

    我的问题和你差不多

    加了Wait语句也没效果,对象不能识别是和插件有很大关系吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
     楼主| 发表于 2008-7-17 15:28:23 | 只看该作者
    我HighLight了一下是可以的,但是run还是提示错误,咋办阿?这是个下拉列表,如果我保持默认值,默认值是香港,运行的时候就不会抱错,但是我只要改为下拉列表的别的值比如:曼谷,都会报错,怎么回事呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-5-7 09:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    13#
    发表于 2008-7-17 17:09:21 | 只看该作者
    会不会和没有装插件有关系?比如装c#或java的插件
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-7-17 17:14:58 | 只看该作者
    会不会是你的赋值不正确呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2008-7-17 17:23:36 | 只看该作者
    你看看你识别对象的属性是不是动态的,看症状象了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2008-7-17 18:41:53 | 只看该作者
    能录制就代表能识别!如果属性值是动态D 就是用正则表达式
    或者 选一些固定D属性而且能唯一识别出这个对象的属性
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2008-7-19 22:31:03 | 只看该作者
    用描述性编程试一下呢,如下:

    Browser("销售系统").Page("网上销售系统").Frame("main_2").Link("text:=下一步").Click

    text是对象库中的属性,下一步 是对应的属性值

    可以把鼠标放在Link对象这边,点右键选择 对象库即可
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2008-7-19 22:31:52 | 只看该作者
    用描述性编程,确定一个能够唯一识别对象的属性,估计就能通过了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2008-7-28 11:30:03 | 只看该作者
    关注楼主的解决最终解决方案
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
     楼主| 发表于 2008-7-28 13:06:34 | 只看该作者
    我换了一种新增对象的方法,之前是在ACTIVE中增加,后来改为在对象库中增加就没问题了,不知道为啥
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-9 09:53 , Processed in 0.096802 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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