ページ上にあるはずのすべての要素が実際にページ上にあるかどうかを確認する関数があります。
/**
* Elements are Displayed
*/
elementsDisplayed() {
let elements = [
this.emailTextField,
this.pwordTextField,
this.signInBtn,
this.forgotLink,
];
let elementsDisplayed = elements.map(function(element) {
return element.isDisplayed();
});
let bundledPromise = protractor.promise.all(elementsDisplayed)
return bundledPromise
}
この関数を呼び出すと、4 つの真の値の配列が返されます。今、私はこの関数を呼び出して期待しています.toEqual([true, true, true, true])
配列内の各項目が であることを確認する方法はあり.toBe(true)
ますか? 私は以下を試しましたが、失敗します。私がチェックしなければならない機能は次のとおりです。
describe('Login Tests', () => {
it('Validate Login Page Elements', () => {
let elementsVisible = loginPage.elementsDisplayed();
_.forEach(elementsVisible, function(value) {
expect(value).toBe(true);
})
});
});
出力は 4 つ以上のアイテムをチェックしています。expected null to be true
、expected undefined to be true
、expected 'pending' to be true
などの束です。
ここで何が間違っていますか?