51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7263|回复: 6
打印 上一主题 下一主题

[原创] qtp如何设置下拉框取值

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-11-6 15:09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初学QTP,使用QTP自带c/s订票系统想实现登陆-》订票,登陆action执行一次,订票操作执行多次,每次执行是按照下拉框值的顺序进去取值,例如fly from 下拉框的值为Denver、Frankfurt、London、Los Angeles、Paris每次订票操作一次取值,附脚本如下,目前只做到了取下拉框第一个值进行订票,没有进行循环,请高手指教
ation1
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Agent Name:").Type  micTab
Dialog("Login").WinEdit("Password:").SetSecure "50986ace3f22671a4e031ae82c90de713b9a304c"
Dialog("Login").WinEdit("Password:").Type  micReturn

action2

Window("Flight Reservation").Activate
Window("Flight Reservation").WinObject("Date of Flight:").Type "111112"
itemscount = Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty ("items count")
For i = 0 to itemscount -1
Window("Flight Reservation").WinComboBox("Fly From:").Select i '用序号来选择
print window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("text")
Next

itemscount1 = Window("Flight Reservation").WinComboBox("Fly To:").GetROProperty ("items count")
For e = 0 to itemscount1 -1

Window("Flight Reservation").WinComboBox("Fly To:").Select  e
Next

Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select RandomNumber("p_Item")
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").Activate
Window("Flight Reservation").WinEdit("Name:").Set "aa"
Window("Flight Reservation").WinButton("Insert Order").Click

wait 10
msgbox window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")
Window("Flight Reservation").Activate
Window("Flight Reservation").WinButton("Button").Click
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2012-11-6 15:17:08 | 只看该作者
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2012-11-6 15:54:12 | 只看该作者
    这个参数化就搞定了吧。。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2012-11-6 16:18:03 | 只看该作者
    回复 3# joykao


    参数化确实可以做,但是   我是想通过写循环语句来实现,
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2012-11-6 17:06:30 | 只看该作者
    本帖最后由 louqqson008 于 2012-11-6 17:30 编辑

    改下这个试试

    action2

    Window("Flight Reservation").Activate
    Window("Flight Reservation").WinObject("Date of Flight:").Type "111112"
    LISTitems=Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty ("all items")  '读取下拉框中所有值
    itemscount =LISTitems.count
    For i = 0 to itemscount -1
    Window("Flight Reservation").WinComboBox("Fly From:").Select  LISTitems(i)      
    Next

    但是想说句  像上面这样循环没有意义的,只是把下拉框中的值循环了下,输入给action中的值是同一个的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    6#
    发表于 2012-11-6 17:42:06 | 只看该作者
    回复 4# liujun_11


        SystemUtil.Run "C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe","","C:\Program Files\HP\QuickTest Professional\samples\flight\app\","open"
    Dialog("Login").WinEdit("Agent Name:").Set "mercury"
    Dialog("Login").WinEdit("Password:").set "mercury"
    Dialog("Login").WinButton("OK").Click
    Window("Flight Reservation").Activate
    Window("Flight Reservation").ActiveX("MaskEdBox").Type "110712"
    itemscount = Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty ("items count")
    For i = 0 to itemscount -1
    Window("Flight Reservation").WinComboBox("Fly From:").Select i '用序号来选择
    'print window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("text")
    itemscount1 = Window("Flight Reservation").WinComboBox("Fly To:").GetROProperty ("items count")
    For e = i to itemscount1-1
    Window("Flight Reservation").WinComboBox("Fly To:").Select  e
    Window("Flight Reservation").WinButton("FLIGHT").Click
    Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
    Window("Flight Reservation").WinEdit("Name:").Set "Aa"
    If i=0 and e=0  Then
            Window("Flight Reservation").WinButton("Insert Order").Click
            else
    Window("Flight Reservation").WinButton("Update Order").Click
    End If
    Next
    Next
    Window("Flight Reservation").Close


    试下吧。。。我调试过没问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2013-10-30 16:21:01 | 只看该作者
    嗯嗯,学习了,楼上的赞一个
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 23:24 , Processed in 0.072903 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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