Jquery 硒';让我们在Internet Explorer中等待条件
我试图让Selenium在继续执行下一个命令之前,等待页面上的所有AJAX请求完成。我正在使用Jquery 硒';让我们在Internet Explorer中等待条件,jquery,ajax,internet-explorer,testing,selenium,Jquery,Ajax,Internet Explorer,Testing,Selenium,我试图让Selenium在继续执行下一个命令之前,等待页面上的所有AJAX请求完成。我正在使用等待条件和以下JavaScript: function(){ var wait = function() { return jQuery.active == 0; } return wait.call(selenium.browserbot.getCurrentWindow()); }(); 这在Firefox中工作正常,但在IE中超时失败 有人知道为什么会这样,或者有其他方法等待AJAX请求
等待条件和以下JavaScript:
function(){
var wait = function() { return jQuery.active == 0; }
return wait.call(selenium.browserbot.getCurrentWindow());
}();
这在Firefox中工作正常,但在IE中超时失败
有人知道为什么会这样,或者有其他方法等待AJAX请求完成吗?使用这个简化版本怎么样:
selenium.browserbot.getCurrentWindow().jQuery.active == 0;
听起来很愚蠢,但大多数IE问题都是通过这种方式解决的
如果这不起作用,您可以分析其他备选方案:
但我会把它当作最后一个计划,因为现在修改jquery以保留ajax调用计数器听起来有点过头了…我在许多博客文章中都找到了这个建议,但奇怪的是,没有人告诉我这个“selenium.browserbot.getCurrentWindow().jquery.active==0;”应该去哪里。如果我把它放在IDE中的“waitForCondition”参数中,它就不起作用了。我猜它应该进入user-extensions.js,但不能作为匿名函数。我试着把这个放在那个文件里:
function wait_for_ajax(timeout){
return selenium.browserbot.getCurrentWindow().jQuery.active == 0;
};
但这似乎是不可行的(以下测试仍然失败)