51Testing软件测试论坛

标题: 用QTP实现WEB页面链接扫描功能 [打印本页]

作者: 474241558    时间: 2010-8-27 11:43
标题: 用QTP实现WEB页面链接扫描功能
  该函数实现用QTP脚本检查任何一个网页所有链接是否有效的功能。实际上,QTP自带一个对 WEB page里的链接进行检查的checkpoint,但是不能自定义扩展和编辑;这里Sincky演示一个自定义的函数,模拟某个网页的每个链接发送 HTTP请求、再检查HTTP响应结果来实现对该网页所有链接进行正确性扫描的过程。代码请见:
  '==========================================================================
  ' Name: CheckAllLinkReachable
  ' Summary: CheckAllLinkReachable
  ' Parameters:
  '         strBrowser: browser name
  '         strPage: page name
  '         strURLPattern: URL pattern you wan't to check. such as: ^http.*
  ' Return: None
  '==========================================================================
  Function CheckAllLinkReachable(strBrowser, strPage, strURLPattern)
  Dim blnReachable
  blnReachable = True
  Set objXML = CreateObject("Msxml2.XMLHTTP")
  ' Get all link on the page
  Set objDes = Description.Create
  objDes("micclass").Value = "Link"
  Set objLinkList = Browser(strBrowser).Page(strPage).ChildObjects(objDes)
  For i = 0 To objLinkList.Count() - 1
  ' Create XML HTTP Object
  strURL = objLinkList(i).GetROProperty("href")
  If RegExpTest(strURLPattern, strURL) Then
  objXML.Open "POST", strURL, false
  objXML.Send
  '         msgbox objXML.responseText
  print (objLinkList(i).GetROProperty("href") & " Ready State:" & objXML.readyState & " Status: " & objXML.status)
  If objXML.status <> "200" Then
  blnReachable = False
  End If
  objXML.abort()
  End If
  Next
  Set objXML = Nothing
  CheckAllLinkReachable = blnReachable
  End Function




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