使用Protractor检查可见的值

时间:2016-02-09 16:04:33

标签: angularjs protractor

我有一段代码,根据条件显示两种不同的方式。在这两种方式中,我都要检查一个值:

user.name

这会显示在页面上,如

<span ng-show="showusername && something > 3">{{user.name}} (other stuff here)</span>
<span ng-show="showusername && something <= 3">{{user.name}}</span>

我的问题是,这也用在页面的其他地方,如果我使用by.binding(&#39; user.name&#39;),量角器似乎找不到绑定,它找到了多个,并显示

Expected ''  to equal 'Joe Smith'

1 个答案:

答案 0 :(得分:2)

您只能filter 可见元素:

var visibleUserNames = element.all(by.binding("user.name")).filter(function (elm) {
    return elm.isDisplayed().then(function (isDisplayed) {
         return isDisplayed;
    });
});
expect(visibleUserNames.count()).toEqual(1);
expect(visibleUserNames.first().getText()).toEqual("Joe Smith");