51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3504|回复: 15
打印 上一主题 下一主题

[原创] 把飞机定票系统的基本操作写完了!(检查的什么都还不会。。。)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-25 22:39:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
If not Browser("Browser").Page("Page").WebEdit("name:=userName").Exist Then
        Muser=DataTable("用户名",gtGlobalSheet)
        Mpwd=DataTable("密码",gtGlobalSheet)
        If Muser<>"" and Mpwd<>"" Then
                SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\Administrator","open"
                Browser("Browser").Page("Page").Sync
                Browser("Browser").Navigate "http://newtours.mercuryinteractive.com"
                Browser("Browser").Page("Page").WebEdit("name:=userName").Set Muser
                Browser("Browser").Page("Page").WebEdit("name:=password").Set Mpwd
                Browser("Browser").Page("Page").Image("name:=login").Click
                Browser("Browser").Page("Page").Sync
        End If
End If
MType=DataTable("Type",gtGlobalSheet)
If MType="Round Trip" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=tripType","index:=0").Select "#0"
Else
        Browser("Browser").Page("Page").WebRadioGroup("name:=tripType","index:=0").Select "#1"
End If
MUserCount=DataTable("Passengers",gtGlobalSheet)
MDepartingFrom=DataTable("DepartingFrom",gtGlobalSheet)
MDay1=DataTable("Day1",gtGlobalSheet)
MMonth1=DataTable("Month1",gtGlobalSheet)
MDay2=DataTable("Day2",gtGlobalSheet)
MMonth2=DataTable("Month2",gtGlobalSheet)
MArrivingIn=DataTable("ArrivingIn",gtGlobalSheet)
MServiceClass=DataTable("ServiceClass",gtGlobalSheet)
MAirline=DataTable("Airline",gtGlobalSheet)
Browser("Browser").Page("Page").WebList("name:=passCount").Select MUserCount
Browser("Browser").Page("Page").WebList("name:=fromPort").Select MDepartingFrom
Browser("Browser").Page("Page").WebList("name:=fromMonth").Select MMonth1
Browser("Browser").Page("Page").WebList("name:=fromDay").Select MDay1
Browser("Browser").Page("Page").WebList("name:=toPort").Select MArrivingIn
Browser("Browser").Page("Page").WebList("name:=toMonth").Select MMonth2
Browser("Browser").Page("Page").WebList("name:=toDay").Select MDay2
If MServiceClass="" and MServiceClass="Economy class" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=servClass").Select "#0"
ElseIf MServiceClass="Economy class" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=servClass").Select "#1"
Else
        Browser("Browser").Page("Page").WebRadioGroup("name:=servClass").Select "#2"
End If
Browser("Browser").Page("Page").WebList("name:=airline").Select MAirline
Browser("Browser").Page("Page").Image("name:=findFlights").Click
Browser("Browser").Page("Page").Sync
MDEPART=DataTable("DEPART",gtGlobalSheet)
MRETURN=DataTable("RETURN",gtGlobalSheet)
If MDEPART="" and MDEPART="1" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=outFlight").Select "#0"
ElseIf MDEPART="2" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=outFlight").Select "#1"
ElseIf MDEPART="3" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=outFlight").Select "#2"
Else
        Browser("Browser").Page("Page").WebRadioGroup("name:=outFlight").Select "#3"
End If
If MRETURN="" and MRETURN="1" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=inFlight").Select "#0"
ElseIf MRETURN="2" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=inFlight").Select "#1"
ElseIf MRETURN="3" Then
        Browser("Browser").Page("Page").WebRadioGroup("name:=inFlight").Select "#2"
Else
        Browser("Browser").Page("Page").WebRadioGroup("name:=inFlight").Select "#3"
End If
Browser("Browser").Page("Page").Image("name:=reserveFlights").Click
Browser("Browser").Page("Page").Sync
MCustomerF=DataTable("CustomerF",gtGlobalSheet)
MCF=Split(MCustomerF,"/",-1,1)
MCustomerL=DataTable("CustomerL",gtGlobalSheet)
MCL=Split(MCustomerL,"/",-1,1)
MMeal=DataTable("Meal",gtGlobalSheet)
MM=Split(MMeal,"/",-1,1)
MCardType=DataTable("CardType",gtGlobalSheet)
MNumber=DataTable("Number",gtGlobalSheet)
MFirstName=DataTable("FirstName",gtGlobalSheet)
MMiddle=DataTable("Middle",gtGlobalSheet)
MExpirationM=DataTable("ExpirationM",gtGlobalSheet)
MExpirationY=DataTable("ExpirationY",gtGlobalSheet)
MLast=DataTable("Last",gtGlobalSheet)
MBillingAddress=DataTable("BillingAddress",gtGlobalSheet)
For i=0 to (MUserCount-1)
        Browser("Browser").Page("Page").WebEdit("name:=passFirst"&i).Set MCF(i)
        Browser("Browser").Page("Page").WebEdit("name:=passLast"&i).Set MCL(i)
        If MM(i)<>"" Then
                Browser("Browser").Page("Page").WebList("name:=pass."&i&".meal").Select MM(i)
        End If
Next
If MCardType<>"" Then
        Browser("Browser").Page("Page").WebList("name:=creditCard").Select MCardType
End If
Browser("Browser").Page("Page").WebEdit("name:=creditnumber").Set MNumber
If MExpirationM<>"" Then
        Browser("Browser").Page("Page").WebList("name:=cc_exp_dt_mn").Select MExpirationM
End If
If MExpirationY<>"" Then
        Browser("Browser").Page("Page").WebList("name:=cc_exp_dt_yr").Select MExpirationY
End If
MFirstName=DataTable("FirstName",gtGlobalSheet)
MMiddle=DataTable("Middle",gtGlobalSheet)
MLast=DataTable("Last",gtGlobalSheet)
Browser("Browser").Page("Page").WebEdit("name:=cc_frst_name").Set MFirstName
Browser("Browser").Page("Page").WebEdit("name:=cc_mid_name").Set MMiddle
Browser("Browser").Page("Page").WebEdit("name:=cc_last_name").Set MLast
Browser("Browser").Page("Page").WebEdit("name:=cc_last_name").Set MLast
MBillAddress=DataTable("BillingAddress",gtGlobaiSheet)
MBillAddress1=DataTable("BillAddress1",gtGlobalSheet)
MBillAddress2=DataTable("BillAddress2",gtGlobaiSheet)
MBillCity=DataTable("BillCity",gtGlobalSheet)
MBillStateProvince=DataTable("BillStateProvince",gtGlobaiSheet)
MBillPostalCode=DataTable("BillPostalCode",gtGlobalSheet)
MBillCountry=DataTable("BillCountry",gtGlobalSheet)
If MBillAddress<>"" Then
        Browser("Browser").Page("Page").WebCheckBox("name:=ticketLess","index:=0").Set "on"
        Browser("Browser").Page("Page").WebEdit("name:=billAddress1").Set MBillAddress1
        Browser("Browser").Page("Page").WebEdit("name:=billAddress2").Set MBillAddress2
        Browser("Browser").Page("Page").WebEdit("name:=billCity").Set MBillCity
        Browser("Browser").Page("Page").WebEdit("name:=billState").Set MBillStateProvince
        Browser("Browser").Page("Page").WebEdit("name:=billZip").Set MBillPostalCode
        Browser("Browser").Page("Page").WebList("name:=billCountry").Select MBillCountry
End If
MDeliveryAddress=DataTable("DeliveryAddress",gtGlobaiSheet)
MdelAddress1=DataTable("delAddress1",gtGlobalSheet)
MdelAddress2=DataTable("delAddress2",gtGlobaiSheet)
MdelCity=DataTable("delCity",gtGlobalSheet)
MdelStateProvince=DataTable("delStateProvince",gtGlobaiSheet)
MdelPostalCode=DataTable("delPostalCode",gtGlobalSheet)
MdelCountry=DataTable("delCountry",gtGlobalSheet)
If MDeliveryAddress<>"" Then
        Browser("Browser").Page("Page").WebCheckBox("name:=ticketLess","index:=1").Set "on"
        Browser("Browser").Page("Page").WebEdit("name:=delAddress1").Set MdelAddress1
        Browser("Browser").Page("Page").WebEdit("name:=delAddress2").Set MdelAddress2
        Browser("Browser").Page("Page").WebEdit("name:=delCity").Set MdelCity
        Browser("Browser").Page("Page").WebEdit("name:=delState").Set MdelStateProvince
        Browser("Browser").Page("Page").WebEdit("name:=delZip").Set MdelPostalCode
        Browser("Browser").Page("Page").WebList("name:=delCountry").Select MdelCountry
End If
If Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Exist Then
        Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
End If
Browser("Browser").Page("Page").Image("name:=buyFlights").Click
Browser("Browser").Page("Page").Sync
MChangeWeb=DataTable("ChangeWeb",gtGlobalSheet)
If MChangeWeb="BACK TO FLIGHTS" Then
        Browser("Browser").Page("Page").Image("url:=http://newtours.mercuryinteractive.com/tour/mercuryreservation.php").Click
ElseIf MChangeWeb="BACK TO HOME" Then
        Browser("Browser").Page("Page").Image("url:=http://newtours.mercuryinteractive.com/tour/mercurywelcome.php").Click
        Browser("Browser").Close
ElseIf MChangeWeb="LOG OUT" Then
        Browser("Browser").Page("Page").Image("url:=http://newtours.mercuryinteractive.com/tour/mercurysignoff.php").Click
        Browser("Browser").Close
End If


慢慢来。。。已经基本写好了。。。基本代码,我现在问别人怎么检查机票的正确性~~!!

[ 本帖最后由 sogoc 于 2007-4-26 14:37 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2007-4-26 08:50:30 | 只看该作者
自己又学到一个东西了,昨天好象在哪边看到&这个字符
今天测试了下果然可以~~~嘿嘿~~
Browser("Browser").Page("Page").WebEdit("name:=passFirst"&i).Set MCF(i)
这样写就可以了。。。HOHO~~~
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
    发表于 2007-4-26 09:27:15 | 只看该作者
    不错!自己有疑问,然后想办法解决了,这样才有收获,才有进步。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2007-4-26 10:50:57 | 只看该作者
    准备把这个飞机定票做完整,希望可以学点QTP基本的,然后再慢慢学别的。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-4-27 14:55:35 | 只看该作者
    请问WebRadioGroup("name:=outFlight")里面的":="是什么意思啊?
    没有vb经验。不好意思
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-4-27 16:03:43 | 只看该作者
    用的描述性编程
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2007-4-28 11:38:19 | 只看该作者

    看来还使用了“通配的对象库”技术。

    看来还使用了“通配的对象库”技术。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-4-28 12:29:09 | 只看该作者
    问一下,第一个if语句里面,为什么要用not
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2007-4-28 12:34:14 | 只看该作者
    写的不错呀,你的编程还行
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2007-4-28 17:01:54 | 只看该作者
    原帖由 没有蛀牙 于 2007-4-28 12:29 发表
    问一下,第一个if语句里面,为什么要用not


    If not Browser("Browser").Page("Page").WebEdit("name:=userName").Exist Then
            Muser=DataTable("用户名",gtGlobalSheet)
            Mpwd=DataTable("密码",gtGlobalSheet)
            If Muser<>"" and Mpwd<>"" Then
                    SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\Administrator","open"
                    Browser("Browser").Page("Page").Sync
                    Browser("Browser").Navigate "http://newtours.mercuryinteractive.com"
                    Browser("Browser").Page("Page").WebEdit("name:=userName").Set Muser
                    Browser("Browser").Page("Page").WebEdit("name:=password").Set Mpwd
                    Browser("Browser").Page("Page").Image("name:=login").Click
                    Browser("Browser").Page("Page").Sync
            End If
    End If

    判断第一个页面是否存在!
    因为在飞机定票系统里面最后一页可以选择回到机票重新定的(第二页),所以我判定第一页是否存在,如果存在就要输入用户名密码进行登陆了,如果不存在那就代表第二页了,我要重新定机票了~~~

    我在最后
    MChangeWeb=DataTable("ChangeWeb",gtGlobalSheet)
    If MChangeWeb="BACK TO FLIGHTS" Then
            Browser("Browser").Page("Page").Image("url:=http://newtours.mercuryinteractive.com/tour/mercuryreservation.php").Click
    ElseIf MChangeWeb="BACK TO HOME" Then
            Browser("Browser").Page("Page").Image("url:=http://newtours.mercuryinteractive.com/tour/mercurywelcome.php").Click
            'Browser("Browser").Close
    ElseIf MChangeWeb="LOG OUT" Then
            Browser("Browser").Page("Page").Image("url:=http://newtours.mercuryinteractive.com/tour/mercurysignoff.php").Click
            'Browser("Browser").Close
    End If
    这个判断点哪个,点第一个就要回第二页(重新购买机票),如果点第二第三,我是想说就不管了,后来没写了,本来还应该在上面添加几个ElseIf的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-4-28 17:35:59 | 只看该作者
    If Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Exist Then
            Browser("Browser").Dialog("Microsoft Internet Explorer").WinButton("确定").Click
    End If


    那这句话的判断是不是少了一个not啊sdlkfj8
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2007-4-29 11:39:47 | 只看该作者
    如果存在.....
    if ......then

    如果不存在....
    if not ....then

    有很大区别的?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-5-9 15:52:19 | 只看该作者
    差距啊。。。。努力。。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2007-5-10 10:06:03 | 只看该作者
    第一段可以改为:



    '##################################################################################
    '         此处可以用到描述性编程,把先期打开的IE窗口全关闭
    Dim WinIe,Ie,i,m
    Set WinIe=description.Create()
    WinIe("regexpwndtitle").value=" Microsoft Internet Explorer"  '所有页面的regexpwndtitle属性值都是" Microsoft Internet Explorer",也可以用其他属性
    Set Ie=desktop.ChildObjects(WinIe)
    m=Ie.count
    For i=1 to m
            Ie(i-1).close                 ' 0为最后打开的一个,可关闭打开的几个,,循环改成for i=1 to m
    Next

    '##################################################################################


    事先关闭所有的IE窗口,然后重新打开
    SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\Administrator","open"
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-7-13 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    15#
    发表于 2007-5-10 10:18:30 | 只看该作者
    原帖由 rivermen 于 2007-5-10 10:06 发表
    第一段可以改为:



    '##################################################################################
    '         此处可以用到描述性编程,把先期打开的IE窗口全关闭
    Dim WinIe,Ie,i,m
    Set WinI ...



    If not Browser("Browser").Page("Page").WebEdit("name:=userName").Exist Then
                     reporter.ReportEvent 2,"判断页面是否存在","页面不存在!"
            Muser=DataTable("用户名",gtGlobalSheet)
            Mpwd=DataTable("密码",gtGlobalSheet)
            If Muser<>"" and Mpwd<>"" Then
                    SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\Administrator","open"
                    Browser("Browser").Page("Page").Sync
                    Browser("Browser").Navigate "http://newtours.mercuryinteractive.com"
                    Browser("Browser").Page("Page").WebEdit("name:=userName").Set Muser
                    Browser("Browser").Page("Page").WebEdit("name:=password").Set Mpwd
                    Browser("Browser").Page("Page").Image("name:=login").Click
                    Browser("Browser").Page("Page").Sync
            End If
    else
            reporter.ReportEvent 2,"判断页面是否存在","页面存在!"
    End If

    我运行之前关闭了所有的IE,运行第一个if 判断(If not Browser("Browser").Page("Page").WebEdit("name:=userName").Exist ),足足用了2分钟
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-5-24 13:02:17 | 只看该作者
    当然了,它搜索不到 Browser 对象,有点慢,你不关闭了所有的IE,看看。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-20 10:46 , Processed in 0.071600 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表