51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[原创] qtp自带flight程序测试问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-9-20 16:09:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
If Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("enabled")=true then  
                                     p=Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount             '获取fly from地点的行数     
                                     flyf = int(rnd*p-1)                          '取随机行
                                     Window("Flight Reservation").WinComboBox("Fly From:").Select flyf                   '随机选择起始点
                     wait(3)
                                     capture()
                                     f1.WriteLine("FLy from按钮""   有效   "&"     能选择起始点!" & filename)
                                     f1.WriteBlankLines(1)                       
                   else
                                 f1.WriteLine("FLy from按钮""         无效   "&"  不能选择起始点!" & filename)
                   end If
测试订单时间,设置了6个数据,5错1对,错误数据都能正常选择,最后一次对的数据读取后出现下面错误,求高手指点一下!!!
Cannot identify the specified item of the Fly From: object. Confirm that the specified item is included in the object's item collection.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2015-1-18 20:44
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    2#
    发表于 2012-9-20 21:39:17 | 只看该作者
    我把你的代码拷下来试了下,是可以的通过的,你检查一下你的对象库,看看是不是有问题
    If Window("航班预订").WinComboBox("起点:").GetROProperty("enabled")=true then  
                                         p=Window("航班预订").WinComboBox("起点:").GetItemsCount     
    '                                     flyf = int(rnd*p+1)                          '取随机行
                                         flyf = int((p-0+1)*rnd+0)
                                         Window("航班预订").WinComboBox("起点:").Select flyf                   '随机选择起始点
                         wait(3)
    '                                     capture()
    '                                     f1.WriteLine("FLy from按钮""   有效   "&"     能选择起始点!" & filename)
    '                                     f1.WriteBlankLines(1)                        
    '                   else
    '                                 f1.WriteLine("FLy from按钮""         无效   "&"  不能选择起始点!" & filename)
                       end If

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2012-9-21 16:21:04 | 只看该作者
    谢谢你的帮助,应该不是对象库的问题。
    6个日期数据在action中数据表直接调用,是正常的。

    现在是将这部分代码写成函数,放在函数库中调用,最后一个正确日期读取后报错。
    1. Window("Flight Reservation").WinButton("新建按钮").Click
    2.            Window("Flight Reservation").WinObject("Date of Flight:").Type ReadExcelCell("C:\Users\hudemou\Desktop\test.xls","testflg",i,1)
    3.            dateflight = ReadExcelCell("C:\Users\hudemou\Desktop\test.xls","testflg",i,1)                  '将外部表中的数据参数化

    4. '.******************************               测试FLy From按钮是否有效
    5. .******************************               测试FLy From按钮是否有效          **************************************
    6.                     If Window("Flight Reservation").WinComboBox("Fly From:").GetROProperty("enabled")=true then  
    7.                                      p=Window("Flight Reservation").WinComboBox("Fly From:").GetItemsCount             '获取fly from地点的行数     
    8.                                      flyf = int(rnd*p-1)                          '取随机行
    9.                                      Window("Flight Reservation").WinComboBox("Fly From:").Select flyf                   '随机选择起始点
    10.                      wait(3)
    11.                                      capture()
    12.                                      f1.WriteLine("FLy from按钮""   有效   "&"     能选择起始点!" & filename)
    13.                                      f1.WriteBlankLines(1)                       
    14.                    else
    15.                                  f1.WriteLine("FLy from按钮""         无效   "&"  不能选择起始点!" & filename)
    16.                    end If
    17.                                
    复制代码
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-9-23 15:53:57 | 只看该作者
    本帖最后由 xjwldlover 于 2012-9-23 15:59 编辑

    Confirm that the specified item is included in the object's item collection. ----确认指定的选项是否包含在可选集合
    **************************************
    flyf = int(rnd*p-1)
    应该是这一行代码有问题,你的item取值范围应该是想要在【1,6】吧,for next运行一下你的这个flyf,你看下,会有 flyf = 0,-1的情况哦,应该就会报错。
    QTP存在生成随机整数的函数flyf = randomNumber(1,6),会生成【1,6】的整数,改下试试。

    希望对你有帮助,如有错误,请各位指正~
    ps,使用rnd函数前要初始化随机数种子Randomize,话说没初始化的话,应该6错或者6对啊,奇怪~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-9-24 10:18:26 | 只看该作者
    谢谢,按你说的改了运行正常。
    但是还是没弄明白为什么只有最后一个日期报错?
    但我感觉应该和取外部表中数据的for语句有关,在action中没有for语句,继续探索中、、、、
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-8 12:32 , Processed in 0.101902 second(s), 33 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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