51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1985|回复: 1
打印 上一主题 下一主题

[讨论] 对同步点的理解

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-10-27 15:50:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1)QTP的脚本语言是VBScript,脚本在执行的时候,执行语句之间的时间间隔是固定的,也就是说脚本在执行完当前的语句之后,等待固定的时间间隔后开始执行下一条语句

2)问题:假设后一条语句的输入是前一条语句的输出,如果前一条语句还没有执行完,这时候将要导致错误的发生!

3)措施:加入同步点、加入Wait语句

4)同步点Synchronization Point
QTP脚本在执行过程中如果遇到同步点,则会暂停脚本的执行,直到对象的属性获取到了预先设定的值,才开始执行下一条脚本。
如果在规定的时间内没有获取到预先设定的值,则会抛出错误信息。

例如:
Window("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text", "Insert Done...", 10000
执行到上面这条语句时,QTP会暂停执行,直到显示”Insert Done…”,
如果在规定的时间10,000ms后text的值没有等于”Insert Done…”,则会抛出错误信息

5)如何获取Synchronization Point
      A.在Recording状态下,通过Insert è Synchronization Point实现
       B.非Recording状态下,在Expert View下,通过Insert-->Step Generator -->Category(Test Objects)-->Object(The Object you’re Testing) --> Operation(WaitProperty), PropertyName、PropertyValue、TimeOut分别填写"text", "Insert Done...", 10000

6)Wait
    总的来说就是死等,比如说wait 10,当运行到这条语句时,等待10秒钟后,才开始再读下面的语句。所以说写脚本的时候一定要估计好时间,否则的话会浪费运行的时间,或者出现等待时间不足的现象。

[ 本帖最后由 walker1020 于 2007-10-28 00:27 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-10-27 21:33:29 | 只看该作者
<<如果在规定的时间内没有获取到预先设定的值,则会抛出错误信息。

这句话不太对的,同步点是不会有错误信息的,同步超时只会在result中显示个warning而已~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 01:42 , Processed in 0.074824 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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