C# 什么';是jQuery.active的击倒等价物吗?

C# 什么';是jQuery.active的击倒等价物吗?,c#,javascript,selenium,knockout.js,C#,Javascript,Selenium,Knockout.js,在我的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")); } 这会一直等到指定的“超时”之后,jQ

在我的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调用才会完成。我想知道是否有一个等效的我可以用于knockout.js库

这个问题很接近,只不过是针对q.js的:


我刚刚开始介绍knockout,我找到的资源中谈到了自定义绑定之类的内容,但是没有更简单的方法吗?

您想做什么?您希望等待什么?在让selenium执行例如鼠标单击之后,我希望在让selenium检查一些断言之前,等待knockout完成对viewmodel的更改处理。之前我只是使用了一个500毫秒的超时时间,有很多测试,这需要很多时间,加上负载下500毫秒可能不够。我不希望在测试中出现竞争条件,所以我使用确定性方法检查jQuery.active。现在我想知道在淘汰赛中是否有类似的情况。订阅你感兴趣的可观察事物怎么样。例如,如果单击事件更新了某个可观察对象,则订阅该可观察对象中的更改。当改变发生时,做你需要做的事情。我对一个可观察的对象不感兴趣,我希望我的selenium测试在knockout运行时不做任何事情。当淘汰赛结束后,我想继续。在我的测试中,knockout是在每次操作之后运行的,我不认为订阅每一个操作都是最好/最快的(就开发时间而言)操作过程。