【发布时间】:2011-01-11 22:56:20
【问题描述】:
我在一些 java selenium-rc 测试中遇到了间歇性错误,我认为这些错误与具有 ajax 轮询并在服务器上达到某些条件时自动刷新的页面有关。在这种情况下,我无法让 selenium 等待页面加载,因此我遇到了一堆随机的“无法访问 document.body”错误。
那么,有什么方法可以让 selenium 优雅地处理这种情况吗?如果没有,有什么方法可以从页面的 javascript 中检测用户是否是 selenium,并禁用自动刷新?
如果它有帮助,页面中的 javascript 代码看起来像......
var ajax = new Ajax(url, {
update: state,
method: 'get',
onComplete: function(message) {
if (some_condition) {
window.location.replace(unescape(window.location));
}
}
});
【问题讨论】:
-
@Matt 页面重新加载时会发生什么变化
-
一些被禁用的链接重新启用 - 与测试无关。理想情况下,我们会使用 ajax 或其他方式将页面更新到新状态,但与这种页面刷新机制相比,这样做所需的工作量很大。
-
看起来我可能能够使用nerd.metrocat.org/2009/10/detecting-selenium 或thoughtstoblog.blogspot.com/2009/09/… 之类的东西检测到在 selenium 下运行。明天我会试一试...
标签: java javascript selenium