web-dev-qa-db-ja.com

分度器を使用して要素が表示されているかどうかを確認するにはどうすればよいですか?

エンドツーエンドのテストに分度器ソフトウェアを使用しています。一部の要素はng-showで設定されています。

これらの要素が分度器で表示されているかどうかを確認する方法を教えてもらえますか?

10
user3568783

要素のIDが「foo」であると仮定すると、たとえば、次のことができます。

expect($('#foo').isDisplayed()).toBe(true); // or false to test that it's hidden

または

expect(element(by.id('foo')).isDisplayed()).toBe(true); 
14
JB Nizet

IsDisplayed()がpromiseを返し、.thenでブール値が渡されることがわかりました。したがって、次のようになります。

$('#foo').isDisplayed().then(function(isDisplaying) {
    expect(isDisplaying).toBe(true);
  });
2
Matt Goo

同じID /クラスの要素が多数あり、表示されている要素の数をassertしたいとします。

var elements = element.all(by.id('foo'))
               .filter(function(el){
                    return el.isDisplayed();
                });

expect(elements.count()).toEqual(2);
1
jetpackdata.com

期待は約束に対処することを知っているので、次のように機能します。

expect($('#foo').isDisplayed()).toBe(true);
1
Eyal