Chinaunix首页 | 论坛 | 博客
  • 博客访问: 112501
  • 博文数量: 49
  • 博客积分: 2612
  • 博客等级: 少校
  • 技术积分: 431
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-01 14:31
个人简介

来来去去

文章分类

全部博文(49)

文章存档

2015年(1)

2012年(4)

2011年(1)

2010年(42)

2009年(1)

我的朋友

分类: 系统运维

2010-07-20 09:29:58

该函数实现用脚本检查任何一个网页所有链接是否有效的功能。实际上,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


阅读(1016) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

wyztester2011-10-02 10:09:17

你好,看了 自动化测试实例:用QTP实现WEB页面链接扫描功能,有一点不明白;
1  strURLPattern是传的什么参数呢
2  RegExpTest调用的过程能分享下吗?
3 希望高手有时间分享下吧,也可以有时间烦请发到我邮箱里吧:
wyztesting@163.com
If RegExpTest(strURLPattern, strURL) Then
     objXML.Open "POST", strURL, false