エンドツーエンドのテストに分度器ソフトウェアを使用しています。一部の要素はng-showで設定されています。
これらの要素が分度器で表示されているかどうかを確認する方法を教えてもらえますか?
要素のIDが「foo」であると仮定すると、たとえば、次のことができます。
expect($('#foo').isDisplayed()).toBe(true); // or false to test that it's hidden
または
expect(element(by.id('foo')).isDisplayed()).toBe(true);
IsDisplayed()がpromiseを返し、.thenでブール値が渡されることがわかりました。したがって、次のようになります。
$('#foo').isDisplayed().then(function(isDisplaying) {
expect(isDisplaying).toBe(true);
});
同じID /クラスの要素が多数あり、表示されている要素の数をassert
したいとします。
var elements = element.all(by.id('foo'))
.filter(function(el){
return el.isDisplayed();
});
expect(elements.count()).toEqual(2);
期待は約束に対処することを知っているので、次のように機能します。
expect($('#foo').isDisplayed()).toBe(true);