peimzh 发表于 2008-5-12 19:19:56

急(面试题)

1. 在hotel.qunar.com中,城市:广州;入住时间:5-20 离店时间5-25; 用QTP将该城市搜索到的酒店及各个房型的报价记录下来。
2. 在www.qunar.com 中, 写一个qtp 脚本来验证搜索机票单程列表页各个功能

怎么记录所有酒店及各个房型的报价

非常感谢!!!

xiaonan 发表于 2008-5-13 10:23:11

说实话,你这样的问题问的太大,要别人帮你设计好用例,然后录制好脚本,一般大家都不知道怎么来回答.就好象有人一上来就问什么什么如何测试一样?

jackymail 发表于 2008-5-13 11:17:10

这个网站了我看了,所有的数据都被用div 层给套起来了,要是table就好办多了,不知道是否有人知道怎样处理div

我给你的第一个问题简单写了一点,你如果明白可以自己研究一下,如果不明白在下也爱莫能助了。

'SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe","http://hotel.qunar.com/","C:\Documents and Settings\Administrator","open"
'Browser("酒店预定").Page("酒店预定").WebEdit("toCity").Set "广州"
'Browser("酒店预定").Page("酒店预定").WebEdit("fromDate").Set "2008-05-20"
'Browser("酒店预定").Page("酒店预定").WebEdit("toDate").Set "2008-05-25"
'Browser("酒店预定").Page("酒店预定").WebButton("酒店搜索").Click

mylink= Browser("广州酒店").Page("广州酒店").GetROProperty("url")
Set xmlobj=CreateObject("Microsoft.XMLHTTP")
xmlobj.open "Get",mylink,false
xmlobj.send()
htmlcode= xmlobj.responsetext


Set RegEx=New RegExp
RegEx.pattern="<a href=.dt-.*"
RegEx.Global=True
Set matches=RegEx.execute(htmlcode)
urltemplate="http://hotel.qunar.com/city/guangzhou/"& hotelnumber & "?fromDate=2008-05-20&toDate=2008-05-25&cityurl=guangzhou"
For Each Match in Matches
        RegEx.pattern=""
        Set dig=RegEx.execute(Left(Match,17))
        x=dig.count+4
        hottenumber= Mid(Match,9,x)
      '再次得到目标网页代码,获取每个宾馆的价格数据
Next



意思就是说先获取网页内源码,从中获取数据。

[ 本帖最后由 jackymail 于 2008-5-13 11:37 编辑 ]

walker1020 发表于 2008-5-13 13:00:38

如果这些 Div 对象 都在 某个WebTable 里面,那么可以使用 WebTable 的 GetCellData 得到里面的数值

walker1020 发表于 2008-5-13 13:14:58

原帖由 peimzh 于 2008-5-12 19:19 发表 http://bbs.51testing.com/images/common/back.gif
1. 在hotel.qunar.com中,城市:广州;入住时间:5-20 离店时间5-25; 用QTP将该城市搜索到的酒店及各个房型的报价记录下来。
2. 在www.qunar.com 中, 写一个qtp 脚本来验证搜索机票单程列表页各个功能

怎么记录 ...

1, 使用 描述性编程肯定可以实现你的要求。找到搜索到的酒店这些对象的共同的属性值,自己写脚本即可;
2, 不知道搜索机票单程列表页的各个功能具体指哪些功能?如何验证? 先把 手工操作的步骤、如何验证等说明白再说吧。没有Test Casse,实在是很难帮你呀。

walker1020 发表于 2008-5-13 13:15:33

感觉不怎么像是面试题目呀。 呵呵!

peimzh 发表于 2008-5-13 13:30:32

谢谢大家的解答呀,非常感谢

trademark 发表于 2008-5-13 15:05:41

我参照着jackymail做了一段脚本,只能取到酒店的值,价格好像是算出来的,所以价格取不出来,还请高手指教.
SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\Administrator","open"
Browser("Browser").Page("Page").Sync
Browser("Browser").Navigate "http://hotel.qunar.com"
Browser("Browser").Page("酒店预定,宾馆预订,青年旅社预订,酒店评论").WebButton("酒店搜索").Click
wait(5)
mylink = Browser("广州酒店, 广州宾馆, guangzhou").Page("广州酒店, 广州宾馆, guangzhou").GetROProperty("url")
Set xmlobj=CreateObject("Microsoft.XMLHTTP")
xmlobj.open "Get",mylink,false
xmlobj.send()
htmlcode= xmlobj.responsetext

Dim regEx, Match, Matches
Set RegEx=New RegExp
RegEx.pattern="<a href=.dt-.*"
RegEx.Global=True
Set matches=RegEx.execute(htmlcode)
For Each Match in Matches
                patrn="\<.+?\>"
                RetStr = Match.Value
                RetStr =RegExp_Replace(patrn,RetStr ,"")
                RetStr =RegExp_Replace(patrn,RetStr ,"")
                print RetStr
Next
Function   RegExp_Replace(patrn,str,replStr)   
          Dim   regEx   '   建立变量。   
          Set   regEx   =   New   RegExp   '   建立正则表达式。   
          regEx.Pattern   =   patrn   '   设置模式。   
          regEx.IgnoreCase   =   true   '   设置是否区分大小写。   
          RegExp_Replace   =   regEx.Replace(str,replStr)   '   作替换。   
End   Function

peimzh 发表于 2008-5-15 19:07:28

我现在根据你的代码可以得到酒店名称,但是无法得到价格呀

lengz 发表于 2008-5-16 15:36:02

这面试题貌似大了点

hajiwon 发表于 2008-5-16 17:31:45

原帖由 jackymail 于 2008-5-13 11:17 发表 http://bbs.51testing.com/images/common/back.gif
这个网站了我看了,所有的数据都被用div 层给套起来了,要是table就好办多了,不知道是否有人知道怎样处理div

我给你的第一个问题简单写了一点,你如果明白可以自己研究一下,如果不明白在下也爱莫能助了。

'S ...

真是太强了,我只想问下你们在什么地方学的这些

jackymail 发表于 2008-5-16 18:07:01

回楼上,过奖了,:lol平时不断积累就可以了。

回楼主,我那个代码片段没有写完,中文注释那部分功能需要自己写一下,大致上就是整个片段的重复,可以把一些重复的步骤写成个函数。。

zte_boy 发表于 2008-5-16 18:26:03

这个如果是面试题目那也太夸张了吧,呵呵

晚上回去按LZ的要求写个脚本先,呵呵

skyphoenix 发表于 2008-5-17 04:39:28

不能自动录制吗?

harold 发表于 2008-5-18 22:28:18

学习下。。。。。。。。。。。。这面试题出的

walker1020 发表于 2008-5-18 23:21:23

个人感觉这是楼主在实际工作中遇到的问题,而不是面试中的问题,原因有两个:
1,面试的人一般不会给你个具体网址,最多让你去测试MI 的订票网站;
2,面试的人对于同类型的题目只会问一个,不会问两个。

peimzh 发表于 2008-5-19 15:35:31

还是没有办法

carol_0921 发表于 2008-5-19 16:30:17

我按照楼上的脚本去做
xmlobj.open "Get",mylink,false
xmlobj.send()
htmlcode= xmlobj.responsetext
这块跑不过去,请问一下,这主要是干什么的呢?

doudou1020 发表于 2008-5-22 17:02:42

回复 18# 的帖子

这是得到网页的源代码

peimzh 发表于 2008-5-23 08:47:53

有没有高人呀,每次发生命令就会产生一个server.jsp的文件,在这个文件里面有酒店的价格
页: [1] 2
查看完整版本: 急(面试题)