C# Selenium在Chrome中等待AJAX

C# Selenium在Chrome中等待AJAX,c#,google-chrome,selenium,nunit,C#,Google Chrome,Selenium,Nunit,我一直在使用Selenium自动化网站测试。部分测试包括等待AJAX请求完成。我在jQuery 1.4中使用了这一行: selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.active == 0", "5000"); 它在Chrome和Firefox4中运行良好,但在IE9中却不行。然后我升级到jQuery1.5,它神奇地停止了在Chrome中的工作。我尝试过以下几种变体,但都不起作用: seleni

我一直在使用Selenium自动化网站测试。部分测试包括等待AJAX请求完成。我在jQuery 1.4中使用了这一行:

selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.active == 0", "5000");
它在Chrome和Firefox4中运行良好,但在IE9中却不行。然后我升级到jQuery1.5,它神奇地停止了在Chrome中的工作。我尝试过以下几种变体,但都不起作用:

selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.active == 0", "5000");
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().jQuery.ajax.active == 0", "5000");
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().$.active == 0", "5000");
selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().$.ajax.active == 0", "5000");
SeleniumException是它无法读取未定义的属性
active
ajax
,因此我猜它无法访问jQuery。我的同事正在Firefox4上运行相同的测试,并且通过了


有没有人经历过这个问题?有什么建议吗?

显然,Selenium中的所有内容都可以通过随机加入Thread.Sleep()来修复。在某些情况下,窗口尚未完成加载,这就是为什么
$
未定义的原因。在等待之前我先睡了一觉,现在一切正常

我不得不用下面这句话:

selenium.WaitForCondition("selenium.browserbot.getCurrentWindow().$.active == 0", "5000");
尽管人们说如果我使用jQuery 1.5,我应该使用
$.ajax.active
,但它对我来说是未定义的,而
$.active
可以工作