量角器承诺不会在声明上解决

时间:2014-11-15 13:04:45

标签: protractor

当我在不使用promises的情况下执行语句时,它只返回一个promise。

如下所示:

devices = element.all(devicesRepeater)
expect(devices.length).toEqual factories.devices.length

但承诺风格有效:

element.all(devicesRepeater).then (devices)->
  expect(devices.length).toEqual factories.devices.length

但它在量角器API中显示它应该解决例如: http://angular.github.io/protractor/#/api?view=ProtractorBy.prototype

// Returns a promise that resolves to an array var rows = element.all(by.repeater('cat in pets'))

等待和所有人都是如此。就像下面的问题一样,等待块然后期望调用有效:

How can I wait for a condition?

在我的项目中,我必须将所有逻辑放在promise回调块中。

我应该为每个人写一个then块,还是有一种方法可以阻止,直到诺言结算。

1 个答案:

答案 0 :(得分:0)

length不是ElementArrayFinder的属性。请改用count():

devices = element.all(devicesRepeater) expect(devices.count()).toEqual factories.devices.length