如果量角器中的条件不能正常工作(AngularJS)

时间:2017-07-17 08:44:50

标签: javascript angularjs protractor

我首先得到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。

为什么条件没有成真?

2 个答案:

答案 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);
     }
})