2012-05-28 132 views

回答

2

對於在ajax上很重的頁面來說,這是完全正確的,你可能必須對每個你調用的方法進行一些細粒度的調整,因爲當一個ajax不會有一個明顯的信號給Selenium方法完成(就像頁面完成加載時一樣)。

結賬超時使用此:

http://seleniumhq.org/docs/04_webdriver_advanced.html

+0

的問題是,這是不可靠的。超時時間應該多久?如果測試機器加載並且比平時花費更長時間會發生什麼情況? 「clickAndWait」具有非常明確的行爲,它只是等待,直到新頁面加載。我更喜歡是否有某種「clickAndWaitUntilGlobalFinishFunctionCalled」。一個頁面可以簡單地嘗試調用窗口[「continueTesting」]。如果它不是一個測試環境,那麼這個功能就不會存在,也不會造成任何傷害。有這樣的東西嗎? –

+0

我可能會解釋你的問題是錯誤的,但是如果你有一個js方法在頁面完成所有未完成的ajax請求時觸發(這是你所說的GlobalFinishFunction的意思嗎?),你可以讓該方法改變DOM中的一個元素一些預先確定的方式,並使用明確的等待(例如在鏈接下的示例中)來查找已更改的元素。 – silijon

+0

好的,謝謝!是的,那就是我的意思。如果使用元素是最好的方式,我想我可以忍受。 :) 再次感謝。 –

0

是的。它可以用來做到這一點。 如果允許您模擬按鈕點擊並等待加載結果。

您應該不會遇到單頁應用程序的問題。

它具有記錄你的步驟和測試用例的工具。試試看。即使是初學者也應該很容易。

相關問題