51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] 还是对象不能识别的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-10-26 15:49:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下这段代码,有时能够顺利通过,有的时候又不能。
Dim odesc
Set odesc=description.Create()
odesc("html tag").value="A"
odesc("class").value="gfnm"
set fdlist=browser("网易电子邮箱 - 极速3.0正式版").Page("网易电子邮箱 - 极速3.0正式版").Frame("index").WebTable("webTable").WebElement("webTable第一列").WebElement("邮件箱列表").ChildObjects(odesc)
For  i=0 to fdlist.count-1
           If fdlist(i).exist Then
                                 wait(1)
                                Set myLink=fdlist(i)
                                myLink.click
                                'call  another function for  cheack  mail info
         End If
Next

我先把错误报告贴出来一下。

这里可以看到,当Click到第4步的时候会出现问题,他显示为[link].click。(有的时候报的错误为“不能唯一识别对象link”,原因也应该是set ....那一句没有起作用)
说明我的set mylink=fdList(i)没有正确的执行。
各位朋友有解决的办法吗?

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2009-10-26 15:51:32 | 只看该作者
这张图是正常回放的结果:

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-10-26 15:58:02 | 只看该作者
应该是邮箱中有同名的邮件,他不知道点第几封邮件了。重新在点那个链接的时候录制一下  会看到对象属性中增加了 index属性
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2009-10-26 16:14:54 | 只看该作者
谢谢楼上的回复。
但问题好像不是你说的那样子,因为我是想获取某个控件下的所有LINK。然后依次点点每个Link
我在CLICK之前加入了GetRoproperty("**")以后,发现可以通过将出错的那个对象的属性值打印出来,也就是说对象已经识别了
而myLink.Click这里出错了,又说对象不能识别了

我的头大了~~~~~~

[ 本帖最后由 weinicm 于 2009-10-26 17:17 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-10-26 19:37:01 | 只看该作者
我把测试文件发上来看看,哪位朋友帮我运行看一下是哪个地方出了错。
我这是有时可以运行,有时不可以。  
弄了一下午还是没有找到问题所在,有点郁闷了
我这是 winXp+IE6.0+qtp9.2的环境。
看看会不会是运行环境的问题。。。

测试的邮箱是网易邮箱。登录以后运行测试脚本

[ 本帖最后由 weinicm 于 2009-10-26 19:38 编辑 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2009-10-26 21:11:43 | 只看该作者
问题是解决了,还是自已代码有问题。在循环内给fdList赋值就对了。
Dim myLink
Dim odesc
Set odesc=description.Create()
odesc("html tag").value="A"
'odesc("class").value="gfnm"
oDesc("micclass").Value = "Link"

fdlistCount=browser("网易电子邮箱 - 极速3.0正式版").Page("网易电子邮箱 - 极速3.0正式版").Frame("index").WebTable("webTable").WebElement("webTable第一列").WebElement("邮件箱列表").ChildObjects(odesc).count
For  i=0 to fdlistCount-1
          wait(1)
          Set fdlist=browser("网易电子邮箱 - 极速3.0正式版").Page("网易电子邮箱 - 极速3.0正式版").Frame("index").WebTable("webTable").WebElement("webTable第一列").WebElement("邮件箱列表").ChildObjects(odesc)       '就把这句的位置移了一下就可以了
          Set myLink=fdlist(i)
          myLink.click
Next

[ 本帖最后由 weinicm 于 2009-10-26 21:17 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 07:45 , Processed in 0.088376 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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