当我在不使用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块,还是有一种方法可以阻止,直到诺言结算。
答案 0 :(得分:0)
length不是ElementArrayFinder的属性。请改用count():
devices = element.all(devicesRepeater)
expect(devices.count()).toEqual factories.devices.length