zoukankan      html  css  js  c++  java
  • 【QTP专题】02_时间同步点问题

    一、什么是同步点

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

    测试过程中,如果需要指定QuickTest暂停运行一个测试或组件,直到特定的对象属性存在后才开始运行下一步,那么可以插入同步点来实现。例如以下几种情况: 

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

    二、同步点方法

    1. 默认等待时间
    2. Sync方法;
    3. Wait方法;
    4. WaitProperty方法;
    5. Exist方法;

      2.1 默认等待时间    

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

      2.2 Sync 

       Syntax

         object.Sync

       Example

        Browser("Mercury Tours").Sync '等待IE加载完成

        Browser("Mercury Tours").Page("Mercury Tours").Sync '等待页面加载完成

       Description

         Sync方法等待浏览器或页面加载完成后才进行下一步操作,Sync方法只能在WEB中使用,操作对象只有Browser(浏览器对象)和Page(页面对象)。

        注意:虽然Sync方法会使QTP等待到页面加载完成后,但无法判断页面是否加载成功,如果需要判断页面加载是否成功,可以通过判断页面中对象visible的属性值。

          Browser("Google").Page("Google").WebEdit("q").GetROProperty("visible")=true

      2.3 Wait方法

       Syntax

         object.WaitProperty (PropertyName, PropertyValue, [TimeOut]) 

       Example

          Wait 10 或Wait(10)

       Description

        wait方法可设定指定的等待时间,时间单位为,但这个时间只能是固定的,即必须等到这个时间才能继续执行。

        注意:死等待有时候会浪费时间,有时候会因设定时间过短导致找不到对象。

      2.4 WaitProperty   

      Syntax

        object.WaitProperty (PropertyName, PropertyValue, [TimeOut]) 

      Example 

         windows("XXX").dialog("XXXXXXXX").waitProperty "visible",true,50000

      Description

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

    方法中的visible是属性,true是属性的值,50000为最长等待时间,单位为毫秒。即在最长等待时间内任意时刻visible的值为true了,脚本继续向下执行,否则直到等到最大等待时间,然后给出waring。

        注意:

        1)如果超出最大等待时间,QTP报告中的结果是warning,而不是fail。 

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

      2.5 Exist  

       Syntax   

        object.Exist([TimeOut])

      Example  

        windows("XXX").dialog("XXXXXXXX").Exist(10)   

      Description

    方法中的10的时间单位为。该方法与waitproperty方法类似,当程序执行到该语句时会去检查对象是否存在,若存在返回true,进入下一步;若10s内检查对象一直不存在返回flase,一般用于if语言中比较多。

    如果设置超时时间为0,如object.Exist 0,那么QTP不会等待,而是直接返回查找的结果(True或False)。
    如果未设置超时时间,如object.Exist,那么超时时间为QTP默认的同步时间

     

    学习心得:学习中遇到问题,不要急着四处询问,尝试使用自带的操作手册,往往有意外的收获,看看下面

  • 相关阅读:
    MySQL之数据库结构优化
    MySQL之索引
    Spring之单元测试
    Spring之IOC容器加载初始化的方式
    LeetCode之Sort List
    [译]Java 垃圾回收的监控和分析
    [译]Java垃圾回收器的类型
    [译]Java垃圾回收是如何工作的
    [译]Java 垃圾回收介绍
    JSP之项目路径问题(${pageContext.request.contextPath},<%=request.getContextPath()%>以及绝对路径获取)
  • 原文地址:https://www.cnblogs.com/sylvia-liu/p/3666341.html
Copyright © 2011-2022 走看看