軟件測試中QTP的幾種同步等待方法

發表于:2010-12-27來源:作者:點擊數: 標簽:軟件測試測試新手時間
軟件測試中 QTP 的幾種同步等待方法 在編寫腳本時,經常要考慮到2個步驟之間的時間間隔問題,例如,1. 打開 http://www.baidu.com2/ . 輸入avepoint。 由于網速的不同,打開百度網頁之后會有一定的延遲,所以1,2兩步之間要有一個短時間的等待,可以通過以下

軟件測試中QTP的幾種同步等待方法

在編寫腳本時,經常要考慮到2個步驟之間的時間間隔問題,例如,1. 打開http://www.baidu.com2/. 輸入avepoint。 由于網速的不同,打開百度網頁之后會有一定的延遲,所以1,2兩步之間要有一個短時間的等待,可以通過以下幾種方法實現:

  1. 對象的默認等待時間。

  QTP識別對象時,會有一個默認的等待時間,可以在File-->Settings-->Run-->Object synchronization中設置,默認時間是20秒,也就是說當執行到第2步時,網頁還沒有完全打開,這樣的話QTP找不到第2步中需要的對象,那么它會在20秒內不斷的嘗試查找對象,如果百度這個網頁在20秒之內完全打開,那么這個方法就可行(網頁全部打開的話,第2步所需的對象就會被找到),如果超過20秒還不行的話,請參考下面幾種方式

  2. 使用.Sync方法。

  還是打開百度,輸入Avepoint,可用如下代碼來實現

  Browser("Browser").Navigatehttp://www.baidu.com

  Browser("Browser").Page("百度").Sync

  Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Set "Avepoint"

  第2句的意思就是等待百度這個頁面完全打開,才繼續執行下面操作。

  3. QTP系統自帶的同步點功能

  第2種方法只能在Web中使用,那么如果其他類型的對象需要等待時間怎么辦?可以使用QTP系統自帶的同步點功能。

  還是上面的例子,在錄制狀態下,選擇Insert-->Synchronization Point,選擇要同步的對象,設置要同步的屬性,我們可以對對象的Enable,visible一類表示狀態的屬性做同步點,生成如下腳本

  Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").WaitProperty "visible", True, 100000

  這句話的意思就是在100秒的時間內,等待WebEdit這個對象的visible屬性,只要它的visible屬性變為true,那么就執行下面操作,最后的100000單位是毫秒,如果在100000毫秒(100秒)后還沒有等到visible = true,直接執行下面操作。

  4. 利用VBS語句。

  Do until Browser("百度一下,你就知道").Page("百度一下,你就知道").WebEdit("wd").Exist(5)

  Wait(1)

  Loop

  判斷WebEdite這個對象是否出現,如果沒有出現,執行Wait(1),如果出現,跳出循環。

  5. 死等大法。

  就是用Wait()語句設置等待時間,死等,比如Wait(10),就是腳本停止10秒,任何操作都不做,10秒之后繼續往下執行操作。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97