0

在我的角度e2e测试中,我希望能够判断DOM上是否存在元素,这不是测试期望值,只是我需要的一个条件。AngularJs E2E如何测试DOM中是否存在元素

我试图做

element(".logout-button:visible").count() > 0 

count()返回未来,将不是一个expect()之外工作。看起来,解决时无法添加回调。

我试图做

element(".logout-button:visible").query(element, callback) 

但是这一个动作,当元素并不而不打扰进入我的回调函数存在一个例外。那么我应该如何实现这个相当简单的任务?

谢谢!

回答

1

看到Angular场景包含Jquery,您应该能够使用jQuery检查特定条件。

if($('#some-element:visible').length){ 
    //do something 
} 

或者,你可以睡觉()测试,直到你知道条件得到满足。例如:

element('#some-button').click(); 
sleep(10); 
expect(element('#new-element:visibile').count()).toBe(1); 
+0

感谢您的回答。我会给jquery一个尝试,但我不太确定它是否会工作,因为我不确定它是否适用于angular的渲染周期。这导致你的第二个选择是使用sleep(),这是我们想避免的。它减慢了应用程序并引入了一些随机性(因为你永远不知道等待的时间足够长)。 – KailuoWang 2013-04-30 16:21:31