求助~~~检查网页上的链接,结果返回不正确
本帖最后由 zxmxjl 于 2012-9-2 12:05 编辑写几行脚本,检测网页上是否存在某个链接,老是检测不出,明明这个链接是存在的。
Dim links,nulinks,linkcheck,i,aa
Set linkobj=Description.Create()
linkobj("micclass").value="link"
set links=Browser("51Testing软件测试论坛 软件测试 |").Page(" - [QuickTest").ChildObjects(linkobj)
nulinks=links.count
aa="QTP用户指南(中文版6.80M)"
For i=0 to nulinks-1
linkcheck=Trim(Browser("51Testing软件测试论坛 软件测试 |").Page(" - [QuickTest").link("micclass:=link","index:="&i).GetROProperty("innertext"))
'print linkcheck
If linkcheck=aa Then
reporter.ReportEvent micPass,"检查","pass"
else
reporter.ReportEvent micFail,"检查","fail"
End If
Next
原先以为检测的有问题,后来加了个打印(标颜色的那句),把web上存在的link都打印出来,确实存在我要检测的连接,但是报告都是显示fail,空格什么都检查过了,为什么啊!!!!! 这个循环每一次都会去验证下,那个页面肯定不止那一个link哇,有一个不匹配的话result就会使整体结果fail 的哇。。。。你可以查看那个result,如果你验证的Link存在,那么总有一个是pass的,
'打开到浏览器到右面的链接地址:
'http://bbs.51testing.com/forumdisplay.php?fid=69&filter=&orderby=dateline
Dim links,nulinks,linkcheck,i,aa
Set linkobj=Description.Create()
linkobj("micClass").value ="Link"
set links=Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(linkobj)
nulinks=links.count
aa="VBScript 脚本语言教程(51Testing官方教材)"
For i=0 to nulinks-1
linkcheck=Trim(Browser("micClass:=Browser").Page("micClass:=Page").Link("micClass:=Link","index:="&i).GetROProperty("innertext"))
print linkcheck
If linkcheck= aa Then
reporter.ReportEvent micPass,"This link exist","pass"
else
reporter.ReportEvent micFail,"NOT THIS LINK","fail"
End If
Next
这是我调试的结果: 受教了。。 这个循环每一次都会去验证下,那个页面肯定不止那一个link哇,有一个不匹配的话result就会使整体结果fail 的 ...
joykao 发表于 2012-9-3 09:17 http://bbs.51testing.com/images/common/back.gif
很感谢,是有一个pass,我没看到 回复 2# joykao
还有个问题要请教下,同样的代码,去检测51论坛空间发表日志的web上的link,检测出页面有192个link,但是循环过程中老是卡在第38次循环,代码应该没啥问题,但是为什么会卡主,是不是那个页面有什么特殊。 回复 5# zxmxjl
没错的,本来就是38个当然循环到38就没了哇。。。
Dim links,nulinks,linkcheck,i,aa
Set linkobj=Description.Create()
linkobj("micClass").value ="Link"
set links=Browser("micClass:=Browser").Page("micClass:=Page").ChildObjects(linkobj)
nulinks=links.count
print nulinks
''aa="VBScript 脚本语言教程(51Testing官方教材)"
For i=0 to nulinks-1
linkcheck=Trim(Browser("micClass:=Browser").Page("micClass:=Page").Link("micClass:=Link","index:="&i).GetROProperty("innertext"))
print linkcheck
' If linkcheck= aa Then
' reporter.ReportEvent micPass,"This link exist","pass"
' else
' reporter.ReportEvent micFail,"NOT THIS LINK","fail"
' End If
Next 回复 6# joykao
为什么我运行的时候去print nulinks,会有192个link 回复 7# zxmxjl
具体是什么样子的啊?那个发表日志的页面目测应该没有190个link 吧,
我贴出的脚本运行link数目38个,打印出来也是38个link 本帖最后由 zxmxjl 于 2012-9-3 16:43 编辑
回复 8# joykao
奇怪了,我在家里是win7 64位底下装的qtp11,检测出来是192个link,用公司电脑xp底下的qtp10,检测link个数为38.
另外要请教下,经常出现脚本跑不过的情况,把qtp关掉再开重新跑这个脚本就过了,这是为什么 回复 9# zxmxjl
QTP11啊,还没尝试过,我用的也是xp,你说的脚本跑不过具体是个什么情况呢?重启QTP 就好了? 回复 10# joykao
谢谢分享,受教了
页:
[1]