2014-11-15 93 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