当我在不使用 promise 的情况下执行语句时,它只返回一个 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'))
等待和所有情况也是如此。就像下面的问题一样,等待块,然后期望调用工作:
我怎样才能等待条件?
而在我的项目中,我必须将所有逻辑放在 promise 回调块中。
我应该为他们每个人写一个 then 块,还是有没有办法阻止直到承诺解决。
长度不是 ElementArrayFinder 的属性。请改用 count():
devices = element.all(devicesRepeater)
expect(devices.count()).toEqual factories.devices.length