`

【转】QTP 同步点设置

 
阅读更多

原文地址:http://www.51testing.com/?uid-27374-action-viewspace-itemid-847208

在运行测试脚本时,QuickTest通过识别对象来判断脚本回放是否成功。当对象在默认的时间内未出现时,脚本回放就会报错。如果需要指定QuickTest暂停运行一个测试或组件,直到特定的对象属性存在后才开始运行下一步,那么可以插入同步点来实现。

  • 同步点原理
  • 同步点方法

---------------------------------------------------------------------------

同步点原理

同步点是指在一个测试过程中,指示QuickTest等待应用程序中某个特定过程运行完成以后再运行下一步操作。
Waits until the specified object property achieves the specified value or exceeds the specified timeout before continuing to the next step.

一般,在下列情况下使用同步点:

  • 判断进度条是否已经100%完成。
  • 判断某一状态消息的出现。
  • 等待某按钮状态变为可用。
  • 一个操作后,弹出一个消息对话框。
  • 等待窗口打开并提交数据。

    默认同步时间

    QTP默认的同步时间为20s。(File>>>Settings>>>Run>>>Object synchronization timeout:)
    可以手工更改对象识别的同步时间。
    Web插件对于Web浏览器对象的默认同步时间为60s。(File>>>Settings>>>Web>>>Browser navigation timeout:)
    同样,可以手工更改对象识别的同步时间。

    插入同步点

    语法:object.WaitProperty(PropertyName,PropertyValue,[TimeOut])
    Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").WaitProperty "name","wd",5000

    QTP默认同步时间为全局时间,手工设置的时间为同步点超时时间,总超时时间=全局时间+同步点超时时间。时间单位ms。

同步点方法

  • 对象的默认等待时间
  • Sync方法
  • WaitProperty方法
  • Exist方法
  • Wait方法

    对象的默认等待时间

    QTP识别对象时,会有一个默认的等待时间,可以在File>>>Settings>>>Run>>>Object synchronization中设置,默认时间是20秒,也就是说当执行到第2步时,网页还没有完全打开,这样的话QTP找不到第2步中需要的对象,那么它会在20秒内不断的尝试查找对象,如果百度这个网页在20秒之内完全打开,那么这个方法就可行(网页全部打开的话,第2步所需的对象就会被找到),如果超过20秒还不行的话,请参考下面几种方式

    Sync方法

    Sync方法等待浏览器或页面加载完成后才进行下一步操作。常用对象中,只有Browser(浏览器对象)和Page(页面对象)具有Sync方法。
    Browser.Sync:表示等待IE状态显示为完成后,再进行下一步操作。
    Page.Sync:表示等待页面信息加载完成后,再进行下一步操作。

    SystemUtil.Run "iexplore.exe","http://www.google.com"
    Browser("Google").Page("Google").Sync

    注意:虽然Sync方法会使QTP等待到页面加载完成后,才进行下一步操作,但是它无法判断页面是否加载成功,如果需要判断页面加载是否成功,可以通过判断页面中对象visible的属性值。
    If Browser("Google").Page("Google").WebEdit("q").GetROProperty("visible")=true then
        msgbox "加载成功"
    else
        msgbox "加载不成功"
    end if

    Sync方法只能在Web中使用,如果其他类型的对象需要等待时间怎么办?可以使用QTP自带的同步点功能。

    WaitProperty方法

   WaitProperty方法是指当指定的属性出现后或是指定时间后指定的属性还未出现,再进行下一步操作。

   注意:该方法适用于除WinMenu对象(菜单对象)以外的所有标准Windows对象。

   常用的比较方式有一下6种:

  1. micGreaterThan(大于)
  2. micLessThan(小于)
  3. micGreaterThanOrEqual(大于或等于)
  4. micLessThanOrEqual(小于或等于)
  5. micNotEqual(不等于)
  6. micRegExpMatch(正则表达式匹配)

   Exist方法 

   Exist方法用于判断对象是否存在   语法:object.Exist([TimeOut])   当设置超时时间时,如object.Exist 10,那么QTP会一直查找该对象,如果在指定的时间内未找到该对象,则提示无法找到该对象。时间单位ms。
   如果设置超时时间为0,如object.Exist 0,那么QTP不会等待,而是直接返回查找的结果(True或False)。
   如果未设置超时时间,如object.Exist,那么超时时间为QTP默认的同步时间。
   Do until Browser("百度一下,你就知道").Page("百度一下,你就道").WebEdit("wd").Exist(5)
       Wait(1)
   Loop

   判断WebEdite这个对象是否出现,如果没有出现,执行Wait(1),如果出现,跳出循环。

   Wait方法

   Wait方法又称为为死等大法。Wait方法使QTP暂停运行一定的时间。
   与其他的方法不同的是,Wait方法强制QTP暂停运行一定的时间,并不会判断指定的对象是否出现。不管对象是否出现,当等待的时间结束后,QTP都将进行下一步操作。

   当脚本走到Wait函数时,就开始执行这个函数,如:Wait(10),就等待10秒,然后再继续执行下面的语句。Wait函数的这个等待的时间,是比较固定的,Wait(10),就一定要等待10秒后在执行。时间单位s。
   同步点的等待时间就比较灵活,它的等待时间是不固定的。设置同步点后,当脚本执行到这句话后,脚本就开始执行等待,脚本会在规定时间内不断的去检查,所同步的对象有没有出现,一但出现,脚本就继续往下执行,不需要等完所规定的时间。如果在固定的时间内,所要同步对象还没有出现,那就提示超时的错误信息。

分享到:
评论

相关推荐

    第21篇-QTP同步点

    第21篇-QTP同步点第21篇-QTP同步点第21篇-QTP同步点

    QTP中Wait与同步点的区别

    QTP中Wait与同步点的区别 ,QTP中Wait与同步点的区别

    qtp同步等待方式

    qtp同步等待方式摘录

    QTP同步等待在项目中的应用

    QTP同步等待在项目中的应用,这是一个些基本的,比较实用的的方法,在项目在常常会应用到的。

    QTP入门-检查点输出值参数化 录像

    QTP入门-检查点输出值参数化 录像 检查点 输出值 参数化 同步点 1.检查点 目的: 检查点比较指定属性的当前值与期望值,以判断当前的程序(或站点)功能是否...除了wait以外,还可以通过设置同步点来解决上述问题。

    QTP描述性编程技术集锦

    15. QTP中Wait与同步点的区别 41 16. QTP tips 41 17. Action 调用 45 18. Action 参数调用 47 19. QTP中根据日期计算年龄的解决办法 48 20. 测试报告知多少 48 21. 调用共享文件 49 22. 识别grid中的button 52 23. ...

    QTP技术集锦--总结

    15. QTP中Wait与同步点的区别 41 16. QTP tips 41 17. Action 调用 45 18. Action 参数调用 47 19. QTP中根据日期计算年龄的解决办法 48 20. 测试报告知多少 48 21. 调用共享文件 49 22. 识别grid中的button 52 23. ...

    QTP笔记概要

    第一小节 环境配置 第二小节 主要视图、录制法则 第三小节 QTP的录制原理 第四小节 QTP同步 第五小节 参数化 第六小节 检查点

    软件测试中QTP的几种同步等待方法

    软件测试中QTP的几种同步等待方法在编写脚本时,经常要考虑到2个步骤之间的时间间隔问题,例如,1.打开http://www.baidu.com2/.输入avepoint。由于网速的不同,打开百度网页之后会有一定的延迟,所以1,2两步之间要...

    qtp常用函数大全

    1.富文本框对象的识别代码;2.获取页面所有多选框(其他对象同理);3.设置对象;4.相对路径;5.键盘操作;6.增加同步点等

    自动化软件测试实践——应用在产品管理平台WEB测试的QTP自动化测试工具

    QTP是Mercury QuickTest Professional的简称, Mercury QuickTest Professional™ 针对功能测试和回归测试自动化提供业界最佳的解决方案 - 适用于所有主要软件应用程序和环境。此下一代自动化测试解决方案采用关键字...

    QTP_8_用户手册中文版

    第=f=部分:=启动测试流程 第=N=章:=简介............................................................................创建标准检查点.............................................................................

    测试培训教材

    QTP9.5:QuickTest_Add-in_9.5_for_Quality_Center.msi 测试类型: Test Type Description MANUAL A Quality Center manual test. WR-AUTOMATED A test that is executed by WinRunner, ...

Global site tag (gtag.js) - Google Analytics