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 閱讀(1441) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄 、qtp