如何为ui-view或ng-if进行量角器测试?

时间:2017-06-25 18:48:07

标签: testing protractor

我正在尝试为我的网站使用量角器测试。当我运行测试时,Firefox会在屏幕上显示“欢迎回家士兵”,这是ng-view="admin"(正确视图)中的部分。但是测试结果失败了。

的index.html:

<div ui-view="!admin">
 <h1> Please sign up </h1> 
</div>

<div ui-view="admin">
 <h1> Welcome home soldier </h1> 
</div> 

index_spec.js:

如果我这样做,则测试失败:

expect($('[ui-view="admin"]').isDisplayed()).toBe(true);

如果我这样做,那么测试成功:

expect($('[ui-view="admin"]').isDisplayed()).toBe(false);

我曾尝试isPresent(),但它给了我相同的结果。

2 个答案:

答案 0 :(得分:0)

请检查您的HTML或CSS是否没有隐藏的元素 - 使用display:nonedisplay:blockisDisplayed()方法将返回false。这是isDisplayed()方法here的代码所定义的。

此外,您可以检查element.size()!=0以检查它是否显示(但它不是完整的证明解决方案)

答案 1 :(得分:0)

如果试试这个,你会得到好结果吗?

browser.wait(function () {
    return $('[ui-view="admin"]').isDisplayed();
}, 5000);
expect($('[ui-view="admin"]').isDisplayed()).toBe(true);