2010-08-30 19 views
1

我在Java中使用Selenium 2,並且在使用Webdriver的(InternetExplorerDriver類)get()方法加載網頁時收到超時並且儘管頁面顯示爲完全加載給我,但執行暫停。
我試過使用WebDriverWait類,但我無法弄清楚作爲條件的until()方法提供了什麼函數。
更新:實施條件一流,但現在也弄不清是否wait.until()方法之前應該還是GET()後才能使用......即使頁面顯示正確,get()方法超時

回答

0

也許你的頁面有一些AJAX如此WebDriver認爲它已加載,但尚未加載。您應該使用Page Objects patternAjaxElementLocatorFactory - 它更可靠,然後只使用wait。此外,這種模式允許創建可維護的測試並具有許多優點

+0

非常感謝您的回答!我會研究這些建議。 問題是,被測試的應用程序不是網頁,而是通過運行一些JavaScript代碼打開的iframe頁面加載後,所用的網頁都是不同的&不專有,所以我想知道如何合併進入測試.. – akapulko2020 2010-08-31 07:26:01

+0

在這種情況下,您仍然需要等待加載對象,並且使用PageFactory是一種很好的方法。但是,在初始化頁面對象之前,您可能需要切換到iframe – 2010-08-31 08:32:43

+0

非常感謝您的幫助。我仍然不明白,如果driver.get()還沒有回來,我該如何使用切換到iframe ......也許有一個你描述的PageFactory模式的例子,除了你最初連接的那個模式? (我似乎無法在Selenium的谷歌組發佈任何消息,因爲我是新用戶,審查員的批准似乎永遠不會發生:)) – akapulko2020 2010-09-06 06:44:15