2016-08-20 64 views
1

我很難設置頁面超時規則並點擊鏈接。是否有可能點擊鏈接並繼續測試頁面超時錯誤?

如果頁面時間太長點擊一個鏈接後加載,然後我得到Timed out receiving message from renderer: xx.xxx

一旦發生這種情況,整個測試情況下停止工作。在此之後它不會執行任何代碼。

int timeout = 10; 
driver.manage().timeouts().pageLoadTimeout(timeout, TimeUnit.SECONDS); 
driver.manage().timeouts().implicitlyWait(timeout, TimeUnit.SECONDS); 
driver.manage().timeouts().setScriptTimeout(timeout, TimeUnit.SECONDS); 

我也沒換我在try-catchdriver.get()塊。由於問題是點擊一個鏈接而不是打開一個新頁面,它似乎沒有工作。

任何人都可以對此有所瞭解嗎?

+0

如果發生這種情況,您必須進行調試以查看問題出在哪裏。增加超時時間,創建一個等待頁面加載的方法。首先確定問題,也許你有一個環境問題,看看這是否發生在某個頁面上,當做某些行動時。例如,如果您的環境正在進行一些付款處理,則10秒可能太少。 – lauda

+0

感謝您的回覆勞達。不幸的增加超時不是一種選擇。有時某些頁面需要很長時間才能加載,我想處理的元素已經在頁面上。如果我手動停止頁面加載,它可以繼續進行測試,如果有時我不得不等待額外的一兩分鐘來加載頁面。 – Revenant

回答

1

這意味着你有一個環境問題。

據我所知,默認情況下,所有的自動化框架都會等待頁面在步驟之間加載。

自動化應該相對較快。 您應該與dev/ops團隊交談以增加服務器資源,否則您將浪費大量時間來調試和執行自動化套件。

緩慢的環境會導致很多問題並導致不可靠的結果。

您可以創建/使用一些條件方法,如等待秒爲元素和可能使用可選參數的時間,你可以在特殊情況下更改爲15-40秒,如果你有例如一些支付方法,需要額外的時間。

作爲一個結論,如果環境很慢,那麼對自動化不利,您需要考慮自動化應該做什麼,自動化的目的是什麼(包括可靠性+速度)。

+0

不幸的是,這可能不是每一次都是這樣。我想要做的是創建一個應用程序,我可以通過GUI(swing應用程序)設置最常見的測試。不幸的是,有時舊開發人員不可用,所以我必須做一些測試,自己得到結果,如果客戶想要解決問題。我甚至發現自己需要在VPN的幫助下進行A/B測試,並將IP更改爲特定的國家(通常是着陸頁和呼叫行爲) – Revenant

相關問題