我正在使用Selenium来测试使用Dojo的Web应用程序,并且它使用java脚本来显示某些元素。我想等到所有元素都显示出来后再尝试操作页面,但是我遇到了麻烦。如何计算活动javascript超时?
我已经开始通过等待dojo inFlight变量为0,这表示所有的ajax已经完成。这并不总是奏效,因为它似乎在事后超时时做了一些事情。
我也尝试过多次寻找元素,但这不是太好,因为也许以后有一些JavaScript会以某种方式使用此字段。所以基本上我想要一个方法(至少在firefox中)查询等待在setTimeout(或setInterval)上运行的JavaScript,我甚至可以通过我自己的函数来处理内置调用的方法跟踪这一点。
任何想法或建议表示赞赏!
您好,感谢您的回复。我们不直接调用setTimeout或setInterval。他们正在被我们的UI开发人员使用的Dojo库调用。我们试图用selenium测试应用程序,所以我们可以在页面中运行javascript,但是我们不能轻易干扰我们测试的代码的工作方式。 也许有一个Firefox插件可以跟踪我们,并以某种方式覆盖内置的超时机制? –