验证网站链接有效性的QTP代码
上一篇 / 下一篇 2009-09-08 11:56:34 / 个人分类:自动化测试
+YN_M's0\0Function CheckLinks2 (BrowserObject,BrowserPage)
u q\0V2}o@2?0 CheckLinks2=TRUE51Testing软件测试网(o$I
yO:W
Dim orgURL,orgCreationTime51Testing软件测试网S@H6L8tk4I;jz
Dim i_Link, l_hWnd
*?1G(a;r^$[Y0 Dim b_newBrowser51Testing软件测试网mQ7I|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")
YgjAn u{C0
:ySF_;a Y xYE0 i_CreationTime=151Testing软件测试网}K0A6IC]rq*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软件测试网fPdzf`%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
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-Pf;LuU/K0 b_newBrowser=False
2{ ~"k/xys+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
[b lh4f7CV/n0 Else51Testing软件测试网
JR~:h5h!|G
BrowserObject.sync
j0]STi0 BrowserPage.sync
^!JcR,S4j0 End if51Testing软件测试网t1Q`mpW
On error goto 051Testing软件测试网^,j6M.d e6?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软件测试网puS N
s,{H!W
h
End If
]0Dw/s-G*w oh0 'Check if page was not able to be displayed you can update this code any time
TI P Zu8r: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\
Fu3c0 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
dn W
Reporter.ReportEvent micWarning,"Check Link(" & i_Link & ") -> " & s_LinkOuterText ,s_LinkDetails
@
hE om7f+c}.?
fo1M0 CheckLinks2=FALSE
'okR;y"Z9k0 Else51Testing软件测试网!evbW^,s Yc5Q"h
s_LinkDetails="Link Working" + vbcrlf + "Link Details:" +vbcrlf51Testing软件测试网'Z(W*aLlh+j
s_LinkDetails=s_LinkDetails+"OuterText: "+ s_LinkOuterText + vbcrlf