怎样做一个可以测试网页所有连接都可用得脚本!
怎样用QTP做一个可以测试网页所有连接都可用得脚本!我是刚刚接触得QTP,求一个比较详细得方法 你所谓的测试网页所有链接是啥意思?要达到什么效果? 是要获取Page中的所有Link? 就是楼上的意思 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 这么一大堆,看不懂 我发觉养成做代码注释习惯的人很少 3Q3Q 非常感谢 大概能明白5#的意思。这样做确实是可以对链接进行检查,代码的思路我觉的也挺好。
但是有一个问题,B/S的软件一般比较复杂,5#的代码应该只是能检查当前页面中所有的链接是否有效(没注释,没法看得很仔细)。但是如果我的需求是检查该网站中所有链接的有效性呢?
对于楼主的需求,我觉的还是从网上下一个网页测试的工具比较好吧。我记的有一款工具能够自动检查网站中所有的链接的,效果也比较不错。 插入检查点就行了
回复 1# 的帖子
好象有这样的工具吧,很简单 XENU吧
页:
[1]