我想使用childObjects方法。 在一些大頁面(包含很多對象)的情況下,我看到qtp變成「沒有響應」,並且函數返回空列表。qtp成爲「沒有響應」
在不同的計算機上工作正常,但如果我繼續增加頁面中的對象數量,它也會失敗。
我也嘗試在Facebook上(登錄後)和www.ynet.co.il並在兩種情況下它沒有一臺計算機上,而在另一個它工作正常(同qtp11版)。
什麼會導致此問題?我該如何解決這個問題?
我想使用childObjects方法。 在一些大頁面(包含很多對象)的情況下,我看到qtp變成「沒有響應」,並且函數返回空列表。qtp成爲「沒有響應」
在不同的計算機上工作正常,但如果我繼續增加頁面中的對象數量,它也會失敗。
我也嘗試在Facebook上(登錄後)和www.ynet.co.il並在兩種情況下它沒有一臺計算機上,而在另一個它工作正常(同qtp11版)。
什麼會導致此問題?我該如何解決這個問題?
在QTP有超時時,瀏覽器時間過長迴應,如果ChildObjects
一個空列表將恢復期間發生超時。兩臺計算機之間的差異可能是一個比另一個快。
爲了解決此問題,您應該嘗試縮小嚐試檢索的元素的數量,在指定html tag
時添加說明以僅檢索所有子對象的子集(我不'假設你真的需要所有DOM元素的列表)。如果你做實際上需要所有的DOM元素,那麼也許你可以使用Browser
的RunScript
方法(QTP11中的新功能)將動作移動到瀏覽器端。
如果您選擇,如果你指定它不是一個正則表達式是更好的描述使用html tag
。
Set desc = Description.Create()
desc("html tag").Value = "div"
desc("html tag").RegularExpression = False
可能可以使用
Setting ("DefaultTimeout")=SaveDefaultTimeOut
Setting ("WebTimeout")=SaveWebTimeout
你應該設置使用
Dim SaveDefaultTimeOut: SaveDefaultTimeOut=Setting ("DefaultTimeout")
Setting ("DefaultTimeout")=<newval>
Dim SaveWebTimeout: SaveWebTimeout=Setting ("WebTimeout")
Setting ("WebTimeout")=<newval>
提出了更高的超時childObjects打電話之前超時,並恢復原來的超時,但是,總是標準化QTP客戶端的時間值,以獲得可比較的結果。要做到這一點的方法之一是將它們放置在圖書館,由(,不以任何常規全球斯克羅普)將下列行到庫:
Setting ("DefaultTimeout")=5000
Setting ("WebTimeout")=5000
一旦被加載庫,超時將被設置,覆蓋配置對話框中的值。
添加說明不起作用。如何增加超時時間 – user1291465 2012-03-26 08:18:39
@ user1291465我不認爲你可以改變超時時間,請參閱我的編輯回答,你應該關掉'html標籤'的正則表達式。 – Motti 2012-03-27 17:45:15