我首先得到ul中的li元素总数。
var dropElementLength = dropdown_ul.all(by.tagName('li')).count();
现在dropElementLength有4.如果用if条件测试这个变量,那么。
if(dropElementLength == 4) {
expect(dropElementLength).toEqual(34);
} else {
expect(dropElementLength).toEqual(634);
}
错误是'预期4等于634',其中错误应该'预期4到等于34'。但是如果条件应该为真,因为dropElementLength等于4。
为什么条件没有成真?
答案 0 :(得分:1)
dropElementLength
返回一个承诺而不是一个布尔。
使用chai-as-promised:
expect(dropdown_ul.all(by.tagName('li')).count()).to.eventually.equals(34);
答案 1 :(得分:0)
在@Kacper评论之后,我通过编写此代码解决了我的问题。
dropElementLength.then(function (value) {
if (value === 4) {
expect(value).toEqual(34);
} else {
expect(value).toEqual(634);
}
})