51Testing软件测试论坛

标题: GOOGLE测试 [打印本页]

作者: huaxiaowu    时间: 2008-4-29 14:47
标题: GOOGLE测试
原题如下:
www.google.cn的输入框中输入指定字符(比如"sh"),在弹出的下拉框中逐一比较是否有预期的值显示,比如"手机","神墓",若找到预期值,则将结果数保存到datatable中。

关于下拉框,我现在完全没有什么头绪,请大家一起讨论吧
作者: 假装不在    时间: 2008-4-29 14:56
个人觉得,你可不可以这样操作:
再录制过错中,输入SH后,下拉出来的东西,你点击下它,并选中其中一个。
这样一来,第一你可以获取那个东西的对象以及属性和方法。
但如果获取不到,个人认为...使用虚拟对象,看可以把它虚拟成一个下拉框不,然后获取它的内容。
作者: 假装不在    时间: 2008-4-29 15:06
我刚才帮你4了一下,发现是一个webtable的
作者: huaxiaowu    时间: 2008-4-29 15:06
因为我这边的GOOGLE有点问题
所以我用TUDOU做的
输入一个字符后,下拉框是录不出来的
选中的那个是录的出来的,就是一个WebElement
回放是不行的
作者: huaxiaowu    时间: 2008-4-29 15:12
我这边没有WEBTABLE........
作者: huaxiaowu    时间: 2008-4-30 09:57
我的GOOGLE有点问题,所以用土豆做的,整个程序写了如下:
但有两个问题(目前2个,还会更多吧)
1、QTP输入YUEYU后,总是无法显示下拉菜单,我在运行期间手动删掉一个U再输入一个U后,就能显示下拉菜单了,这是怎么回事?
2、运行到Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).FireEvent "onmouseover"时,就运行不下去了,系统提示说:不能识别WebElement这一对象,但之前判断WebElement是否存在的句子却能运行,这是为什么?我MSGBOX了Y的值为空,程序到此卡壳了,请各位前辈帮忙看看是什么原因,不胜感激!!!

SystemUtil.Run"iexplore.exe","www.tudou.com"

Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebEdit("kw").Click
Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebEdit("kw").Set DataTable("searchitem", dtGlobalSheet)
wait(10)
Dim x,y,z,a,i
x=DataTable("exceptitem",GlobalSheet)
z=0:i=0
Do while z=0
        If Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).Exist Then
                y=Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).GetROProperty("innertext")
                msgbox(y)
                z=InStr(1,y,x,1)
                If z>0 Then
                        Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).Click
                        a=Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("title:=搜索视频:"&y&" - 土豆网 视频搜索 在线观看").GetROProperty("url")
                        DataTable("url",GLobalSheet)=a
                        Exit Do
                Else
                        Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).FireEvent "onmouseover"
                        i=i+1
                End If
        Else
                a="can not find exceptitem"
                DataTable("url",GLobalSheet)=a
                Exit Do
        End If
Loop
作者: jackymail    时间: 2008-4-30 10:03
http://bbs.51testing.com/viewthr ... hlight=%B0%D9%B6%C8
作者: huaxiaowu    时间: 2008-4-30 10:52
多谢楼上的,我先去仔细看看
不过我水平有限,还真怕看不大懂……
作者: kelly_yan    时间: 2008-4-30 16:57
楼主的y=Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).GetROProperty("innertext")
把webElement改成webtable应该可以msgbox出所有下拉框中的数据
作者: liangjz    时间: 2008-5-5 01:17
webElement 一般用于具体对象识别不到具体CLASS时候用
作者: huaxiaowu    时间: 2008-5-8 15:08
原帖由 kelly_yan 于 2008-4-30 16:57 发表
楼主的y=Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebElement("htmltag:=SPAN","index:="&i).GetROProperty("innertext")
把webElement改成 ...

我试过了,不行的,改掉后,连
If Browser("土豆网 - 视频 - 播客 - 每个人都是生活的导演_2").Page("土豆网 - 视频 - 播客 - 每个人都是生活的导演").WebTable("htmltag:=SPAN","index:="&i).Exist Then

这个判断语句都进不去,直接执行ELSE后的了,全是找不到……

这几天太忙了,这个问题就一直丢着没解决。

我想还是得用CREATEOBJECT的VBS函数才能解决关于下拉菜单的问题吧。
但是这个函数到底是怎么回事我还是没底……

谢谢大家的帮忙!!
问题解决之后我会把答案贴上来的。




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