Angularjs Karma e2e测试:如何知道DOM何时准备就绪?

Angularjs Karma e2e测试:如何知道DOM何时准备就绪?,angularjs,karma-runner,Angularjs,Karma Runner,我正在编写一些e2e测试,到目前为止,我一直在使用sleep(x)函数等待ajax调用 这不是很有效,因为我必须估计等待测试的值,如果我设置了太大的值,那么我的测试将花费比需要更多的时间 有没有办法在ajax调用持续时间内休眠?或者,至少在重定向到其他页面时,是一种在加载DOM时休眠的方式 如果您使用angular scenario runner和karma进行e2e测试,您不必担心这一点。框架为您处理所有这些。如果您有一个按钮,该按钮将导致应用程序发送AJAX请求并在响应时更改DOM中的某些内

我正在编写一些e2e测试,到目前为止,我一直在使用
sleep(x)
函数等待ajax调用

这不是很有效,因为我必须估计等待测试的值,如果我设置了太大的值,那么我的测试将花费比需要更多的时间


有没有办法在ajax调用持续时间内休眠?或者,至少在重定向到其他页面时,是一种在加载DOM时休眠的方式

如果您使用angular scenario runner和karma进行e2e测试,您不必担心这一点。框架为您处理所有这些。如果您有一个按钮,该按钮将导致应用程序发送AJAX请求并在响应时更改DOM中的某些内容,那么您只需像这样编写测试:

element('#mybutton').click();
expect('...'); //Test that checks that the DOM has changed as excpected.

只要你使用angular full out,这就行了。

哇,这是出乎意料的,我不得不加上过去的睡眠,让e2e测试通过。我再检查一遍。是的,我只使用角度。谢谢,看来我使用的是直接
document.location.href
更改,这不是karma处理的。对于其他人来说,它是开箱即用的。