验证网站链接有效性的QTP代码

上一篇 / 下一篇  2009-09-08 11:56:34 / 个人分类:自动化测试

+YN_M's0\0Function CheckLinks2 (BrowserObject,BrowserPage)
uq\0V2}o@2?0 CheckLinks2=TRUE51Testing软件测试网(o$I yO:W
 Dim orgURL,orgCreationTime51Testing软件测试网S@H6L8t k4I;jz
 Dim i_Link, l_hWnd
*?1G(a;r^$[Y0 Dim b_newBrowser51Testing软件测试网m Q7I|mY:P
 Dim s_LinkOuterText,s_LinkInnerText,s_Linkhref51Testing软件测试网b3^Ir:P`H0~]

@_!LKGr$O1W/c&g0H0 s_URL=BrowserPage.GetROProperty("url")51Testing软件测试网9uaV*q5T6O%Y1[/`W9D ^.t
 l_hWnd=BrowserObject.GetROProperty("hwnd")
Y gjA n u{C0 
:y SF_;a Y xYE0 i_CreationTime=151Testing软件测试网}K0A6IC]r q*E
 
%B)M/gaju0 i_LinkCount=BrowserPage.object.links.length - 151Testing软件测试网D5Z SJ-~i1r5p'l
 
Urc+Z r0 For i_Link=0 to i_LinkCount51Testing软件测试网fPd zf`%a8w

(@v P&wY"t n_0   If Trim(BrowserPage.object.links(i_Link).target)="" and Instr(BrowserPage.object.links(i_Link).href,"javascrīpt:")=0 Then
#N ?T:[P&L'H)D0    b_newBrowser=False
.Q'M[{\Bv0   else
n+{wU1J-N"{0    b_newBrowser=TRUE51Testing软件测试网~lu wg
     End If
H/YKX,j:r-U0 
5P3E-U-FG{0   s_LinkOuterText=BrowserPage.object.links(i_Link).outerText51Testing软件测试网Sb~t5v~#z
   s_LinkInnerText=BrowserPage.object.links(i_Link).innerText51Testing软件测试网;m/_"Wu`"^#|Z6N-D4B
   s_Linkhref=BrowserPage.object.links(i_Link).href

2l$U.q6CFx@,W051Testing软件测试网p9Y?["y:f y

   BrowserPage.object.links(i_Link).click

*rxf$I"Bl051Testing软件测试网 n"BK~L*~!L q0PF4z

   'Doing Browser.Exist with CreationTime:=1 when the browser does not exist will give TRUE so i though of work around to compare the windows51Testing软件测试网ni7C%Xjw
   ' handle for the old browser and the new browser with CreationTime:=1. If they are same that mean no other window was opened.
f&U6\b;?j0   If b_newBrowser Then
g.N0DT%bq;w8K2g0    l_newhWnd=Clng(Browser("CreationTime:=" & i_CreationTime).GetROProperty("hwnd"))
LE@@.N0    If  clng(l_hWnd) =l_newhWnd Then
^F-P f;LuU/K0     b_newBrowser=False
2{~"k/x ys+ZU yK+S0    end if
!m;QZ/J}|"F0   end if
M aV r6g2RtP0   51Testing软件测试网Bki r:Q!q f!d
   On error resume next51Testing软件测试网Q_3u(QS
   If b_NewBrowser Then
:s$u ]2[5xk$|L6Kf|0    Browser("CreationTime:=" & i_CreationTime).sync
P/`hZ1p N:nr^ |0    Browser("CreationTime:=" & i_CreationTime).Page("micClass:=Page").sync
[blh4f7CV/n0   Else51Testing软件测试网 J R~:h5h!| G
    BrowserObject.sync
j0]STi0    BrowserPage.sync
^!JcR,S4j0   End if51Testing软件测试网t1Q`mpW
   On error goto 051Testing软件测试网^,j6M.de6?UEH(u
   51Testing软件测试网 H*Bl nb3m
   Dim s_LinkDetails
'n;h-Z6JXW @G_0 
2E:w_5Nr9sB2f Q1|3I0   If b_NewBrowser Then51Testing软件测试网LiS2b ^e TM$k%p
    IHTML = Browser("CreationTime:=" & i_CreationTime).Page("micClass:=Page").object.Body.innerHTML51Testing软件测试网 Ke ?;Z$HX2v@
   else
2n}m)z8Rg"s0    IHTML = BrowserPage.object.Body.innerHTML51Testing软件测试网 puSN s,{H!W h
   End If

r7j6E5RI*GFG&H+@0

]0Dw/s-G*w oh0   'Check if page was not able to be displayed you can update this code any time
TIPZu8r:iW#m0   If (InStr(IHTML,"HTTP 404") <> 0) Or (InStr(IHTML,"cannot be displayed") <> 0)  Then
:Q!`5U,e:G\9t,an(c0    s_LinkDetails="Link Broken" + vbcrlf + "Link Details:" +vbcrlf51Testing软件测试网1vu%@3BX2bU1Z-z^}5|
    s_LinkDetails=s_LinkDetails+"OuterText: "+ s_LinkOuterText + vbcrlf
#Jb"yq0\ F u3c0    s_LinkDetails=s_LinkDetails+"InnerText: "+  s_LinkInnerText + vbcrlf51Testing软件测试网6Aj/@ D}:n
    s_LinkDetails=s_LinkDetails+ "href: " + s_Linkhref+ vbcrlf
:YQa^A#t3~s])r0    s_LinkDetails=s_LinkDetails+ "Links Open in New Browse: " & bNewBrowser & vbcrlf51Testing软件测试网.O&mA3CZ dnW
    Reporter.ReportEvent micWarning,"Check Link(" & i_Link & ") -> " & s_LinkOuterText  ,s_LinkDetails
@ hE om7f+c}.? fo1M0    CheckLinks2=FALSE
'okR;y"Z9k0   Else51Testing软件测试网!evbW^,s Y c5Q"h
    s_LinkDetails="Link Working" + vbcrlf + "Link Details:" +vbcrlf51Testing软件测试网'Z(W*a Llh+j
    s_LinkDetails=s_LinkDetails+"OuterText: "+ s_LinkOuterText + vbcrlf
`4_ F&|;JLF0    s_LinkDetails=s_LinkDetails+"InnerText: "+  s_LinkInnerText+ vbcrlf
$@(h7W`6d%? M]"O-~0    s_LinkDetails=s_LinkDetails+ "href: " + s_Linkhref+ vbcrlf51Testing软件测试网1w:]J[\_n
    s_LinkDetails=s_LinkDetails+ "Links Open in New Browse: " & bNewBrowser & vbcrlf51Testing软件测试网)Ad*d7s5E7v}HAL
    Reporter.ReportEvent micPass,"Check Link(" & i_Link & ") -> " & s_LinkOuterText  ,s_LinkDetails
2NBeN7R0   End If51Testing软件测试网;hkAka*U
 51Testing软件测试网Pc3tsHe!EmP
   If b_NewBrowser Then51Testing软件测试网0y kM9s9? |oQL5@y
    while Clng(Browser("CreationTime:=" & i_CreationTime).GetROProperty("hwnd"))<>l_hwnd
:WWDX zJ`0     On error resume next
f s2w L#R)E0     Browser("CreationTime:=" & i_CreationTime).Sync
L@s4\1?i0     Browser("CreationTime:=" & i_CreationTime).Page("micClass:=Page").Close
nC#a9?8WMT_0     On error goto 051Testing软件测试网2vzeb/\&V
     Browser("CreationTime:=" & i_CreationTime).Close51Testing软件测试网`5[s+ocb+y*]
     'Tackle links that open a new browser and also opens a popup using that51Testing软件测试网1})K0Z u0F
     'i_CreationTime=i_CreationTime + 151Testing软件测试网~a K^|A8E tVn
    Wend
3J2Tzr i)KHG0    
#]2jF'[ Os0    i_CreationTime=1
.oyF2H9g}E8i$ll_0    
QO,^t)M!xO:W/b0   else
Ng(}1a4X'ay Vc0    On error resume next51Testing软件测试网G'IP!CAuV2tT
    BrowserObject.Navigate s_URL51Testing软件测试网!v8d.`!j'[
    BrowserObject.Sync
.wk9|d2`-mso0    BrowserObject.Page.Sync51Testing软件测试网7ML(? \.OIT Qd0X
    On error goto 051Testing软件测试网 z#x@YA-Bk&@,}
   end if51Testing软件测试网4M+\/YP.YqjQ H
 Next
GC:C'w sN0End Function

g9a&R"xN,F051Testing软件测试网2eXxGF3M0V

 51Testing软件测试网"E H:yNve

'*********************  InQTP**************851Testing软件测试网 o-P1u b.o
 Set BrowserObject = Browser("micClass:=Browser","CreationTime:=0")51Testing软件测试网:pAu+H:{ XID
 Set BrowserPage = BrowserObject.Page("micClass:=Page")51Testing软件测试网 SR5T&k'tb!p3A.y:W
 CheckLinks2 BrowserObject,BrowserPage
g@:PI} u GkBS"S$?(r0'*********************************************

TAG: 链接 有效 QTP qtp

 

评分:0

我来说两句

Open Toolbar