Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript '的等效行为;jQuery.active';在q中_Javascript_Selenium Webdriver_Promise_Q - Fatal编程技术网

Javascript '的等效行为;jQuery.active';在q中

Javascript '的等效行为;jQuery.active';在q中,javascript,selenium-webdriver,promise,q,Javascript,Selenium Webdriver,Promise,Q,在我的c#selenium webdriver测试中,我偶尔不得不使用: public void WaitForJQuery(TimeSpan timeout) { var wait = new WebDriverWait(driver, timeout); wait.Until(d => (bool)(d as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0")); } 这会一直等到指定的“超时

在我的c#selenium webdriver测试中,我偶尔不得不使用:

public void WaitForJQuery(TimeSpan timeout)
{
    var wait = new WebDriverWait(driver, timeout);
    wait.Until(d => (bool)(d as IJavaScriptExecutor).ExecuteScript("return jQuery.active == 0"));
}
这会一直等到指定的“超时”之后,jQuery调用才会完成。我想知道q.js库中是否有一个等价物可以使用


我是一名测试人员,不是网页设计师,对q库几乎没有什么经验,浏览q库的文档时,我看不到任何可能包含我想要的信息的相关静态属性。

不,q独立跟踪每个承诺,所以它保存的唯一记录是未处理的拒绝(出于错误报告的目的)构建一些东西并不难:

var pending = 0;
function register(operation) {
  pending++
  return Q(operation)
    .finally(function() { pending--; });
}
如果每次创建承诺时都调用
register(promise)
,只需测试
pending==0即可得到所需的结果


这个
register
方法也可以用来检查挂起的jQuery承诺(或者任何其他类型的承诺,它有一个有效的
then
方法),因为
Q
会将它们同化。

我在查看文档后怀疑是这样的。你对register函数的想法很好,谢谢!