0

ページ上にあるはずのすべての要素が実際にページ上にあるかどうかを確認する関数があります。

 /**
 * 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 trueexpected undefined to be trueexpected 'pending' to be trueなどの束です。

ここで何が間違っていますか?

4

2 に答える 2