2014-04-09 18 views
0

我正在使用UI自動測試框架測試我的應用程序。我有一個UIACollectionView,我想拉下或拖動我的CollectionView。我已經嘗試從文檔的方式: 向上拖動iOS UI自動測試:如何在CollectionView中下拉,拖動或滾動?

target.dragInsideWithOptions({startOffset:{x:0.5, y:0.9}, endOffset:{x:0.5, y:0.2}, duration:2.0}); 

或拉下:

target.dragInsideWithOptions({startOffset:{x:0.5, y:0.3}, endOffset:{x:0.5, y:0.8}, duration:2.0}); 

當這個沒有工作我試圖用UIAScrollView的在繼承的方法。 chatList是我的UIACollectionView

archivedChatCell = chatList.cells()["Noise"] 
archivedChatCell.scrollToElementWithValueForKey(1, "isVisible") 
chatList.scrollDown() 
chatList.scrollToElementWithPredicate("Noise") 

但是屏幕上沒有任何東西在移動。我在一些主題中讀到,這個(dragInsideWithOptions)是一個蘋果問題,需要爲iOS7 UI測試修復。 有人知道問題是什麼嗎?我是否錯過了一些東西,或者有什麼解決辦法嗎? 奇怪的是,我在我的應用程序中的不同CollectionView中使用了相同的代碼,dragInsideWithOptions工作正常,拖動或拉動屏幕。

謝謝

回答

0

是,dragInsideWithOptions和flickInsideWithOptions不工作的模擬器。但是,他們確實在真正的設備上工作。因此,我的建議是在Apple修復問題之前使用真實設備。

+0

但是多數民衆贊成,我得到這個功能在其他屏幕上工作,這也是CollectionViews。但是,只是不在我的RootViewController,什麼是一個CollectionView ......真奇怪的行爲...... ??! – julesmummdry

+0

是的,它有點奇怪,但你可以得到單元格數組來找到可以給你「當前單元格」的索引,然後使用** scrollToElementWithName **方法遍歷每個單元格,這可能會實現。 –