51Testing软件测试论坛

标题: 我的WaitProperty写错了吗? [打印本页]

作者: wangyong3552128    时间: 2007-4-3 13:31
标题: 我的WaitProperty写错了吗?
同步点
Dialog("Login").WinEdit("Agent Name:").Set "test"
Dialog("Login").WinEdit("Password:").SetSecure "4610bb1c459e2ab6865516d4b72eb903d687d9c7"
Dialog("Login").WaitProperty "okk",true,10000
Dialog("Login").WinButton("OK").Click

没有报错.

换成
Dialog("Login").WinEdit("Agent Name:").Set "test"
Dialog("Login").WinEdit("Password:").SetSecure "4610bb1c459e2ab6865516d4b72eb903d687d9c7"
Dialog("Login").WinButton("OK").WaitProperty "okk","jjjj",10000
Dialog("Login").WinButton("OK").Click
运行完也没报错

换成
Dialog("Login").WinEdit("Agent Name:").Set "test"
Dialog("Login").WinEdit("Password:").SetSecure "4610bb1c459e2ab6865516d4b72eb903d687d9c7"
Dialog("Login").WinButton("OK").WaitProperty "okk","jjjj",3
Dialog("Login").WinButton("OK").Click

运行完也没报错
作者: sidneylover    时间: 2007-4-3 13:41
只要脚本语法没错都不会报错
只是检查某个属性的值变成预期值后继续后面的动作,如果在设置的最长等待时间内仍然没反应,同样跳过WaitProperty语句执行后面的动作,所以不会报错
作者: wangyong3552128    时间: 2007-4-3 13:51
1.Dialog("Login").WinButton("OK").WaitProperty "okk","jjjj",10000
2.Dialog("Login").WaitProperty "okk",true,10000

这两个哪个对呀?并且这两个都没报错.  本来按钮上是ok,我写的同步点是okk,应该报错吗?
作者: htot05    时间: 2007-4-3 14:25
你理解错了,这是WaitProperty的用法:
object.WaitProperty (PropertyName, PropertyValue, [lTimeOut])
你写的那个"okk",qtp会去找button里叫okk的属性,如果有这个属性,那么直到这个属性变成jjjj,脚本才会进行下一步,第二句也是同理的,好好检查一下,再看看帮助文件吧~!sdlkfj2
作者: wangyong3552128    时间: 2007-4-3 15:34
呵呵。我理解错啦。
Dialog("Login").WinButton("OK").WaitProperty "true","false",10000

按钮从可用变为不可用.
那查看ok按钮的属性应该怎么看呀?

[ 本帖最后由 wangyong3552128 于 2007-4-3 15:41 编辑 ]
作者: songfun    时间: 2007-4-4 09:58
看帮助呀,兄弟,同步点这个地方其实很简单的。。。sdlkfj2
ok按钮你用object spy看
作者: wangyong3552128    时间: 2007-4-4 13:15
yes,我刚用了object spy
Dialog("Login").WinButton("OK").WaitProperty "visible","true",10000

WaitProperty "visible","true",10000是怎样写的吗?
作者: xiaonan    时间: 2007-4-4 13:18
恩,但估计这样写同步点没多大意义,呵呵,这个OK按纽是一直可见的吧?
作者: songfun    时间: 2007-4-4 13:33
呵呵,为了玩技术而玩技术sdlkfj5

原帖由 xiaonan 于 2007-4-4 13:18 发表
恩,但估计这样写同步点没多大意义,呵呵,这个OK按纽是一直可见的吧?

作者: wangyong3552128    时间: 2007-4-4 13:48
原帖由 xiaonan 于 2007-4-4 13:18 发表
恩,但估计这样写同步点没多大意义,呵呵,这个OK按纽是一直可见的吧?

是呀,它是一直可见的.那怎么写WaitProperty才是有作用.WaitProperty"height",19,10000,在属性名和属性值是怎么选的?
作者: songfun    时间: 2007-4-4 14:01
同步点不是高兴加就加的——虽然从技术的角度说你可以随便加。
关键是你有需要才去加,你打开了窗体去同步height属性干什么?不可理解。

所谓的同步点,你要明白它的意思:WAIT ......UNTIL.......
你没必要干吗同步按钮的高度属性?
作者: wangyong3552128    时间: 2007-4-4 17:19
那你举个例子,你用那些控件的属性干吗?

不就是确认得到了这个控件的属性后,对这个控件进行操作吗?

那你举个例子.
作者: songfun    时间: 2007-4-4 20:43
举个例子,飞机票订票系统,有几个地方可以使用同步点。

比如输入用户名密码点击Login后登录会进入一个订单操作界面(这时显示的是订单操作的窗体),那么我可以使用一个同步,就是这个窗体的visible为true的时候才进行输入日期;还可以同步为日期控件的focused为true的时候开始输入日期。

不少同学会奇怪好像不加这个同步点也没事啊,实际上不加同步点一般来说没有问题,但是大家也许会发现如果没加同步点有的时候回放会乱掉。就是因为没同步才出错的。

更显著的同步点例子就是进度条走到100%的时候进行同步。如果没有等待同步,你会发现接下来的某些操作可能会不成功。
其实同步点的逻辑根据我们的设计而定,有必要就加它。
作者: allrounder    时间: 2007-4-4 20:58
标题: 回复 #13 songfun 的帖子
进度条走到100%的控制可以用browser或者page的sync方法。
作者: wangyong3552128    时间: 2007-4-5 07:50
songfun ,谢谢,现在我彻底明白了。
作者: songfun    时间: 2007-4-5 08:57
原帖由 allrounder 于 2007-4-4 20:58 发表
进度条走到100%的控制可以用browser或者page的sync方法。



我说的是windows application的那个flight,不是mercury tours website的那个。
不是一个东西,不能用page sync实现.
作者: wangyong3552128    时间: 2007-4-6 07:58
好像只有windows的那个飞机订票例子才有进度条显示。

Window("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text"," Insert Done...", 10000
Window("Flight Reservation").Close
我用的是" text"属性,当显示" Insert Done..."时,说明进度条执行 到100%,再执行Close.
作者: andycai    时间: 2007-10-22 15:16

作者: wuyu702    时间: 2007-10-23 09:54
谢谢 songfun
作者: hiyouhiyou    时间: 2007-10-23 10:49
标题: 学习到了,呵呵,3x!





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