我快乐,不是因为我得到的多,而是因为我计较的少

QTP测试页面的连接是否可用.

上一篇 / 下一篇  2008-12-07 13:52:45 / 个人分类:QTP

set a= Browser("Yahoo!")
set b= Browser("Yahoo!").Page("Yahoo!")
call CheckLinks(a,b)
Function CheckLinks (BrowserObject,BrowserPage)
CheckLinks=TRUE
Dim s_URL,i_CreationTime
Dim s_LinkOuterText,s_LinkInnerText,s_Linkhref
s_URL=BrowserPage.GetROProperty("url")
i_CreationTime=1
i_LinkCount=BrowserPage.object.links.length - 1

Dim i_Link

For i_Link=0 to i_LinkCount
If Trim(BrowserPage.object.links(i_Link).target)="" Then
BrowserPage.object.links(i_Link).target="_blank" ' Set the link to open i a new window so that we dont have any change in current window
End If

BrowserPage.object.links(i_Link).click
On error resume next
Browser("CreationTime:=" & i_CreationTime).sync
Browser("CreationTime:=" & i_CreationTime).Page("micClass:=Page").sync
On error goto 0
Dim s_LinkDetails

IHTML = Browser("CreationTime:=" & i_CreationTime).Page("micClass:=Page").object.Body.innerHTML
'Check if page was not able to be displayed
If (InStr(IHTML,"HTTP 404") <> 0) Or (InStr(IHTML,"cannot be displayed") <> 0) Then
s_LinkDetails="Link Broken" + vbcrlf + "Link Details:" +vbcrlf
s_LinkDetails=s_LinkDetails+"OuterText: "+ s_LinkOuterText + vbcrlf
s_LinkDetails=s_LinkDetails+"InnerText: "+ s_LinkInnerText + vbcrlf
s_LinkDetails=s_LinkDetails+ "href: " + s_Linkhref+ vbcrlf
s_LinkDetails=s_LinkDetails+ "Links Open in New Browse: " & bNewBrowser & vbcrlf
Reporter.ReportEvent micWarning,"Check Link(" & i_Link & ") -> " & s_LinkOuterText ,s_LinkDetails
CheckLinks=FALSE
Else
s_LinkDetails="Link Working" + vbcrlf + "Link Details:" +vbcrlf
s_LinkDetails=s_LinkDetails+"OuterText: "+ s_LinkOuterText + vbcrlf
s_LinkDetails=s_LinkDetails+"InnerText: "+ s_LinkInnerText+ vbcrlf
s_LinkDetails=s_LinkDetails+ "href: " + s_Linkhref+ vbcrlf
s_LinkDetails=s_LinkDetails+ "Links Open in New Browse: " & bNewBrowser & vbcrlf
Reporter.ReportEvent micPass,"Check Link(" & i_Link & ") -> " & s_LinkOuterText ,s_LinkDetails
End If

Browser("CreationTime:=1").close ' Close the link open.
Next
End Function


TAG: QTP

谦卑胜刚强 引用 删除 actrei   /   2008-12-07 19:53:19
在QTP中,对于网页链接的测试可以使用Link对象,例如下面的脚本用于对链接的地址进行检查:
‘ 对链接的地址进行检查
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Link("REGISTER").CheckProperty ("url",http://newtours.demoaut.com/mercuryregister.php)
其中使用了CheckProperty方法,用于对比Link对象的URL属性是否等于指定的地址。也可以使用Link对象的Object属性中的href属性来进行比较,例如下面的代码所示:
href = Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Link("REGISTER").Object.href
‘ 如果地址不正确,则报告错误
If NOT href ="http://newtours.demoaut.com/mercuryregister.asp" Then
         Reporter.ReportEvent micFail,"Link Error",href
         ExitAction
End If
 

评分:0

我来说两句

我的栏目

日历

« 2024-05-06  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 8249
  • 日志数: 13
  • 建立时间: 2008-12-04
  • 更新时间: 2010-03-12

RSS订阅

Open Toolbar