2014-11-15 96 views
2

当我执行不使用承诺的陈述时,它只是返回一个承诺。量角器承诺未解决申报

像下面不工作:

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?

而在我的项目,我必须把所有的逻辑承诺回调块内。

我应该为它们中的每一个写一个then块,还是有办法阻塞,直到承诺解决。

+0

希望这得到了一些关注,我在与承诺不解决,以及问题,即使我有使用'希望()'他们。 – Aaron

+0

长度不是ElementArrayFinder的属性。使用count()代替: 'devices = element.all(devicesRepeater) expect(devices.count()).toEqual factories.devices.length' –

回答

0

长度不是ElementArrayFinder的属性。使用count()代替:

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

+0

是的我一直在使用count。但是,谢谢你在这里添加它,以便其他人可以找到答案 – bugdayci