51Testing软件测试论坛

标题: 用QTP怎样来获取页面里的数据呢? [打印本页]

作者: caoyuanzhen2008    时间: 2009-7-8 23:07
标题: 用QTP怎样来获取页面里的数据呢?
请大家帮帮我,这个问题很急啊!小女子先在这里谢谢大家啦!

就是说一个搜索功能,输入搜索内容,会出来一个搜索结果页面,搜索结果会显示搜索出来了多少条记录,但是这个数据是动态的,比如说我输入另一个内容,结果页面显示的条数也会跟着变化!

请问各位我该怎么样来获取这个搜索结果条数呢,用QTP代码怎么来实现呢!

作者: aslandhu    时间: 2009-7-9 09:19
以下是一个用于测试某网站铃音搜索功能的脚本。

脚本首先使用childobjects对象把页面所有Link对象查找出来,其次使用正则表达式匹配每个子对象的运行时text属性(匹配模式为搜索框中输入的值),然后统计搜索到得结果,最后使用随即点击搜索到得下载链接。

缺点是:如果搜索的值为“更多”(页面上有同名且非铃音下载的链接),则可能打开的不是下载链接导致脚本执行失败。

脚本:

Browser("***").Page("****").WebButton("搜索").Click
Set  LinksDescription = Description.Create()
LinksDescription("html tag").value="A"
set  LinksChildObj=Browser("*****").Page("****").ChildObjects(LinksDescription)
linkscount=LinksChildObj.count
Dim i,text,sertchResult
j=0
For i=0 to linkscount-1
text= LinksChildObj(i).GetRoproperty("text")
Set myReg= New RegExp
myReg.Pattern ="等一分钟"  '这个是你的搜索内容
myReg.IgnoreCase = True
myReg.Global = True
If myReg.test(text) Then j=j+1
Next
'msgbox(j)    '你要的条数
'msgbox(LinksChildObj(j-1).GetRoproperty("text"))
k=randomNumber(0,j-1)
msgbox(k)
LinksChildObj(k).Click  ' 随即点一个结果
作者: fengzheng216    时间: 2009-7-9 11:14
使用GetRoproperty取得text值,然后作比对。如果需要对对比的,那么要注意GetRoproperty取得的结果需要转化为整型  然后才能和数据行型对比。
作者: caoyuanzhen2008    时间: 2009-7-12 22:11
谢谢两位!

但是网站是java语言写的,并且这个条数并不是输入框,是java语言用sql语句搜索出来的一个值并显示

该怎样用GetRoproperty来实现呢!
作者: caoyuanzhen2008    时间: 2009-7-12 22:17
标题: 回复 2# 的帖子
谢谢你!你的回答对我帮助很大!呵呵

可条数只是一个数据而已,并不是链接,请问你知不知道该怎样来获取页面的数据呢??




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2