我一直在運行到一些java selenium-rc測試的間歇性錯誤,我認爲這些測試與具有ajax輪詢的頁面相關,並在服務器上達到某些條件時自動刷新。在這種情況下,我沒有辦法讓硒等待頁面加載,所以我遇到了一堆隨機的「無法訪問document.body」錯誤。從硒處理自刷新頁面
那麼,有什麼辦法可以讓硒正常處理這種情況?如果沒有,是否有某種方式可以檢測用戶是否來自頁面的JavaScript的硒,並禁用自動刷新?
如果它幫助所有,在頁面的JavaScript代碼看起來像...
var ajax = new Ajax(url, {
update: state,
method: 'get',
onComplete: function(message) {
if (some_condition) {
window.location.replace(unescape(window.location));
}
}
});
@Matt頁面重新加載時會發生什麼變化 – AutomatedTester 2010-02-02 09:03:58
已禁用的某些鏈接將重新啓用 - 與測試無關。 理想情況下,我們會使用ajax或其他方式將頁面更新爲新狀態,但與此頁面刷新機制相比,完成該操作所需的工作量很大。 – 2010-02-03 00:33:02
看起來像我可能能夠檢測到在硒下運行的東西像http://nerd.metrocat.org/2009/10/detecting-selenium或http://thoughtstoblog.blogspot.com/2009/09/selenium-alert -and-確認功能於pages.html。我明天就去... – 2010-02-03 10:37:35