我正在測試一個Web應用程序,它需要每隔5秒刷新其中一個標題元素。通過在組中使用同一應用程序的任何人發佈報價/政策時,該標題元素將更新所有用戶的消息。爲此,我們的開發人員在所有頁面和所有用戶上每5秒連續進行一次AJAX調用。WebDriver等待頁面加載,以便在後臺連續進行AJAX調用
對於通過不同的頁面導航,我最初使用隱式的等待一樣,
DRIVER.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
之後連續AJAX調用,我不得不使用的webdriver等待明確的功能,並通過頁面導航時找對象的知名度;像,
Wait<WebDriver> wait = new WebDriverWait(DRIVER, 20);
wait.until(visibilityOfElementLocated(By.id(objID)));
(請注意visibilityOfElementLocated是另一種功能,還可以處理異常處理。)
我現在的問題是,這種顯式調用代碼更改,當我運行IE 8,但腳本的偉大工程,當我在IE 9上運行它時,它仍然表現相同,無休止地等待頁面加載(或等待該AJAX調用完成)。而且,如果我停止瀏覽器調用(通過按Esc或x鏈接),我的腳本將繼續該頁面,並再次掛起以便下一頁。
任何想法,爲什麼IE 9不工作,因爲IE 8爲頁面加載不工作?有沒有辦法可以調試呢?
PS:我試着更新IEDriverServer,但徒勞無功。此外,這在Chrome和FF瀏覽器上運行良好。
只是更多的更新:我試着用IE10,它也不能工作。 –
不知道這是否有幫助,但我們的asp.net應用程序使用signalR來保持連續的連接。 –