For i=0 to 1000
If browser("...").Page("...").Link("index:=" & i).Exist Then
Msgbox browser("...").Page("...").Link("index:=" & i).GetRoProperty("name") '获取被检查的link名称并输出
browser("...").Page("...").Link("index:=" & i).Click '测试被检查的每个link功能
browser("...").Page("...").Sync
browser("...").Page("...").webelement("innerhtml:=Home").Click ' return to the home page
Else
Exit for
End If
Next
Msgbox "该页面中Link的数量为:"&i
我就是想当运行到Log out时,不要点击这个link,继续检查它后面的link功能作者: jimmy2006.hi 时间: 2007-5-9 16:10
browser("...").Page("...").Link("index:=" & i).Click '测试被检查
在这句前面加上:a=browser("...").Page("...").Link("index:=" & i).GetRoProperty("innerText")
if a不等于"Log out" Then browser("...").Page("...").Link("index:=" & i).Click
End if
试试sdlkfj2作者: jimmy2006.hi 时间: 2007-5-9 16:12
不等于是"<>"作者: alex_82712 时间: 2007-5-10 10:44
非常感谢jimmy2006.hi
但是按照你给的建议,代码只检查了Home这个link,就结束了,而且Msgbox出来的link数量也是为0。给你看代码和系统图片
Image:
[attach]24822[/attach]
红框内都是要参数化的Link,但是“Personal”不是的,意思是:“Personal”是个一级菜单,当鼠标放在Personal上,它的二级菜单才会弹出来,二级菜单的Link不属于这个测试的范围。所以代码会顺序执行,Click Link的顺序是:Home、Log out、more、Add等等。
Resource in QTP:
Dim linkName
For i=0 to 1000
If browser("...").Page("...").Link("index:=" & i).Exist Then
linkName=browser("...").Page("...").Link("index:=" & i).GetRoProperty("innerText") ' get link name
Msgbox ("The linkname is " & linkName) ' print link name
If linkName <> "Log out" Then
browser("...").Page("...").Link("index:=" & i).Click ' click link
browser("...").Page("...").webelement("innerhtml:=Home").Click ' return to home page
wait (2)
End If
browser("...").Page("...").Sync
Exit for
End If
Next
wait (1)
Msgbox "该页面中Link的数量为: "&i