51Testing软件测试论坛

标题: 还是对象不能识别的问题 [打印本页]

作者: weinicm    时间: 2009-10-26 15:49
标题: 还是对象不能识别的问题
以下这段代码,有时能够顺利通过,有的时候又不能。
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

我先把错误报告贴出来一下。
[attach]57127[/attach]
这里可以看到,当Click到第4步的时候会出现问题,他显示为[link].click。(有的时候报的错误为“不能唯一识别对象link”,原因也应该是set ....那一句没有起作用)
说明我的set mylink=fdList(i)没有正确的执行。
各位朋友有解决的办法吗?
作者: weinicm    时间: 2009-10-26 15:51
这张图是正常回放的结果:
[attach]57128[/attach]
作者: ymn911    时间: 2009-10-26 15:58
应该是邮箱中有同名的邮件,他不知道点第几封邮件了。重新在点那个链接的时候录制一下  会看到对象属性中增加了 index属性
作者: weinicm    时间: 2009-10-26 16:14
谢谢楼上的回复。
但问题好像不是你说的那样子,因为我是想获取某个控件下的所有LINK。然后依次点点每个Link
我在CLICK之前加入了GetRoproperty("**")以后,发现可以通过将出错的那个对象的属性值打印出来,也就是说对象已经识别了
而myLink.Click这里出错了,又说对象不能识别了

我的头大了~~~~~~

[ 本帖最后由 weinicm 于 2009-10-26 17:17 编辑 ]
作者: weinicm    时间: 2009-10-26 19:37
我把测试文件发上来看看,哪位朋友帮我运行看一下是哪个地方出了错。
我这是有时可以运行,有时不可以。  
弄了一下午还是没有找到问题所在,有点郁闷了
我这是 winXp+IE6.0+qtp9.2的环境。
看看会不会是运行环境的问题。。。

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

[ 本帖最后由 weinicm 于 2009-10-26 19:38 编辑 ]
作者: weinicm    时间: 2009-10-26 21:11
问题是解决了,还是自已代码有问题。在循环内给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 编辑 ]




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