51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2152|回复: 4
打印 上一主题 下一主题

[原创] 学习QTP在下拉框这知识点卡住了。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-8-13 18:14:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
目前用的是下面这段代码,来实现按顺序一个一个选择下去,但是通过是通过,但只执行一次,如何实现按顺序进行,
Dim listcount '下拉框数
Dim i '初始值
        listcount=Browser("Mercury Tours").Page("Find a Flight").WebList("passCount").GetROProperty ("listcount") '获得下拉框选项个数'选择每个调用的下拉框值
For i =0 to listcount-1
        Browser("Mercury Tours").Page("Find a Flight").WebList("passCount").select "" & i  
Next



还有个问题如何就单独选择下拉框中的指定选项(不通过录制)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2012-8-14 16:48:58 | 只看该作者
回复 4# shingo0109


    看了你写的代码,受益匪浅啊,非常感谢。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    4#
    发表于 2012-8-14 16:40:14 | 只看该作者
    回复 3# louqqson008


        看你写的代码, formdata的值应该是下拉选项里的值吧, 如London, Shanghai等
    但portdata这个获取的是下拉框的所有item的总数, 这2个值没法比较的啊
    If  formdata<=portdata Then这句不合逻辑的吧, 如果你是想获取所有的item项, 可以这么写:
    portdata=browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").GetROProperty("all items")
    formdata=datatable.Value("出发地","Global")
    If Instr(1, portdata, formdata) > 0 Then     '表示formdata在下拉选项里
    Browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").Select formdata
    else
        Browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").Select"London"
    End If
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2012-8-14 16:25:09 | 只看该作者
    回复 2# shingo0109


    非常感谢,刚在运行成功了。

    现在又有一个问题了,我现在的想法是这样的,
    刚开始为了实现在datatable的global中取值,然后用:
    formdata=datatable.Value("出发地","Global") '读取Globle中的值
    Browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").Select"formdata"修改出发地,根据Globle中的数据  
    但是实现不了
    后来发现这是weblist而不是webedit,就用了下面的这些代码尝试实现,结果还是错误,
    虽然能正常RUN并pass,但是能执行global中的次数(行数),却无法读取数据只能进行IF语句中else部分

    Dim formdata
    Dim portdata
        portdata=browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").GetROProperty("items count") '读取下拉框中的所有出发地数
        formdata=datatable.Value("出发地","Global") '读取Globle中的值
    '当从Globle中读取的值与下拉框中的值有相同时,将此值做为下拉框的值
    If  formdata<=portdata Then
            Browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").Select"#" & formdata'修改出发地,根据Globle中的数据  
            else
        Browser("Mercury Tours").Page("Find a Flight").WebList("fromPort").Select"London"
    End If

        现在感觉头一片晕啊-.-,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    2#
    发表于 2012-8-14 09:46:58 | 只看该作者
    1. LZ这样写试试:
    listcount=Browser("Mercury Tours").Page("Find a Flight").WebList("passCount").GetROProperty ("items count")
    For i =0 to listcount-1
            Browser("Mercury Tours").Page("Find a Flight").WebList("passCount").select "#" & i  
    Next
    2. 单独选择下拉框中的指定选项,就直接Select哪个项就行了啊, 不录制么可以用描述性编程来写
    Browser("Mercury Tours").Page("Find a Flight").WebList("passCount").select "aaa"
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 10:38 , Processed in 0.071388 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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