51Testing软件测试论坛

标题: QTP如何获取动态对话框 [打印本页]

作者: kav4752    时间: 2010-4-25 17:15
标题: QTP如何获取动态对话框
脚本是这样的
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
作者: msnshow    时间: 2010-4-25 19:09
关注中。。。
作者: lamuda    时间: 2010-4-25 23:03
Set MyDes = description.Create()
FaxName = "Fax Order No.*"
-----这个正则表达式不可以这么用的,需要做一下转换。或者就不要用描述性编程,直接在对象库里头用正则表达式。
作者: skyzhu    时间: 2010-4-26 09:53
Window("Flight Reservation").Dialog(b).Activate
写错,应该是类似这样的
Window("Flight Reservation").Dialog("Name:="&b).Activate
作者: kav4752    时间: 2010-4-27 14:56
标题: 回复 4# 的帖子
多谢,不过应该是这样写
Window("Flight Reservation").Dialog("Text:="&b).Activate
作者: kav4752    时间: 2010-4-27 14:57
标题: 回复 3# 的帖子
直接在对象库里用正则表达式该如何操作
作者: TIB    时间: 2010-4-27 16:15
或者这样:
b = "text:=Fax Order No. "&a
Window("Flight Reservation").Dialog(b).Activate
作者: skyzhu    时间: 2010-4-27 16:17
打开对象库里 某个对象的某一个值的设置窗口  value configuration options
里面勾上  Regular expression
这个属性值就支持使用正则了
作者: kav4752    时间: 2010-4-28 09:56
标题: 回复 8# 的帖子
多谢,回家试试




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2