qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          QTP中的時間同步點問題解決

           一、什么是同步點
            同步點是指在一個測試過程中,指示QuickTest等待應用程序中某個特定過程運行完成以后再運行下一步操作。
            Waits until the specified object property achieves the specified value or exceeds the specified timeout before continuing to the next step.
            測試過程中,如果需要指定QuickTest暫停運行一個測試或組件,直到特定的對象屬性存在后才開始運行下一步,那么可以插入同步點來實現。例如以下幾種情況:
            判斷進度條是否已經100%完成。
            判斷某一狀態消息的出現。
            等待某按鈕狀態變為可用。
            一個操作后,彈出一個消息對話框。
            等待窗口打開并提交數據。
            二、同步點方法
            默認等待時間
            Sync方法;
            Wait方法;
            WaitProperty方法;
            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默認的同步時間
            學習心得:學習中遇到問題,不要急著四處詢問,嘗試使用自帶的操作手冊,往往有意外的收獲,看看下面

          posted on 2014-11-10 10:17 順其自然EVO 閱讀(1442) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄qtp

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 甘泉县| 烟台市| 平阳县| 华安县| 东乡县| 沙田区| 合川市| 罗城| 邯郸市| 三穗县| 怀仁县| 漾濞| 渭南市| 绥德县| 洪雅县| 资阳市| 县级市| 福贡县| 叙永县| 云和县| 杨浦区| 镇原县| 云梦县| 南和县| 虞城县| 文水县| 九寨沟县| 武乡县| 冷水江市| 新和县| 宁蒗| 法库县| 怀化市| 乐都县| 屯留县| 秦皇岛市| 金寨县| 乐平市| 禹州市| 鹰潭市| 荣成市|