我正在使用Protractor软件进行端到端测试。一些元素正在使用ng-show进行设置。
有人可以告诉我如何用Protractor检查这些元素是否可见?
答案 0 :(得分:14)
假设您的元素具有ID“foo”,您可以这样做,例如
expect($('#foo').isDisplayed()).toBe(true); // or false to test that it's hidden
或
expect(element(by.id('foo')).isDisplayed()).toBe(true);
答案 1 :(得分:2)
我发现isDisplayed()返回一个promise,而在.then中,你传递了boolean。所以看起来更像是这样:
$('#foo').isDisplayed().then(function(isDisplaying) {
expect(isDisplaying).toBe(true);
});
答案 2 :(得分:1)
期望知道如何处理承诺,以便以下工作。
expect($('#foo').isDisplayed()).toBe(true);
答案 3 :(得分:1)
假设您有相同ID /类的多个元素,并且您希望assert
计算可见元素的数量
var elements = element.all(by.id('foo'))
.filter(function(el){
return el.isDisplayed();
});
expect(elements.count()).toEqual(2);