我有一个函数可以检查页面上的所有元素是否实际上都在页面上。
/**
* 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
, 等等。
我在这里做错了什么?