51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2834|回复: 8
打印 上一主题 下一主题

[原创] QTP如何获取动态对话框

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-4-25 17:15:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本是这样的
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Agent Name:").Type  micTab
Dialog("Login").WinEdit("Password:").SetSecure "4bd3fa8da7ae2d2dd1b624468f740abb77ffd1ff"
Dialog("Login").WinEdit("Password:").Type  micReturn
Window("Flight Reservation").ActiveX("MaskEdBox").Type "121212"
Window("Flight Reservation").WinComboBox("Fly From:").Select "Frankfurt"
Window("Flight Reservation").WinComboBox("Fly To:").Select "London"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinList("From").Activate "13512   FRA   12:48 PM   LON   01:33 PM   SR     $161.70"
Window("Flight Reservation").WinEdit("Name:").Set "wer"
Window("Flight Reservation").WinRadioButton("First").Set
Window("Flight Reservation").WinButton("Insert Order").Click
window("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "Text","Insert Done...",10000
a = window("Flight Reservation").WinEdit("Order No:").GetROProperty("Text")
Window("Flight Reservation").WinMenu("Menu").Select "File;Fax Order..."
'用描述性编程
Set MyDes = description.Create()
FaxName = "Fax Order No.*"
MyDes("Name").value= FaxName
MyDes("Text").value = FaxName
Window("Flight Reservation").Dialog(MyDes).Activate

'替换描述性编程
b = "Fax Order No. "&a
Window("Flight Reservation").Dialog(b).Activate

我用print b查过b在运行时的结果,和运行时的窗口名是一样的,不过就是报错。
难道说还要动态地添加对象库?

Window("Flight Reservation").Dialog(MyDes).Activate
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    2#
    发表于 2010-4-25 19:09:33 | 只看该作者
    关注中。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2010-4-25 23:03:02 | 只看该作者
    Set MyDes = description.Create()
    FaxName = "Fax Order No.*"
    -----这个正则表达式不可以这么用的,需要做一下转换。或者就不要用描述性编程,直接在对象库里头用正则表达式。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-4-26 09:53:54 | 只看该作者
    Window("Flight Reservation").Dialog(b).Activate
    写错,应该是类似这样的
    Window("Flight Reservation").Dialog("Name:="&b).Activate
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2010-4-27 14:56:48 | 只看该作者

    回复 4# 的帖子

    多谢,不过应该是这样写
    Window("Flight Reservation").Dialog("Text:="&b).Activate
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2010-4-27 14:57:30 | 只看该作者

    回复 3# 的帖子

    直接在对象库里用正则表达式该如何操作
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-4-27 16:15:11 | 只看该作者
    或者这样:
    b = "text:=Fax Order No. "&a
    Window("Flight Reservation").Dialog(b).Activate
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-4-27 16:17:39 | 只看该作者
    打开对象库里 某个对象的某一个值的设置窗口  value configuration options
    里面勾上  Regular expression
    这个属性值就支持使用正则了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
     楼主| 发表于 2010-4-28 09:56:11 | 只看该作者

    回复 8# 的帖子

    多谢,回家试试
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 16:28 , Processed in 0.069439 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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