У меня есть функция, которая проверяет, действительно ли все элементы, которые должны быть на странице, на странице.Ожидаю, что значение истины истинно
/**
* 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
}
Когда я вызываю эту функцию, он возвращает массив из четырех истинных значений. Прямо сейчас я вызываю эту функцию и ожидаю ее .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
и т. д.
Что я здесь делаю неправильно?