2016-03-04 28 views
3

看起來EarlGrey在測試我們的APP時無法使用等待APP閒置的好功能。得到這個錯誤每個屏幕上:EarlGrey試圖等待5.0秒讓應用程序進入空閒狀態

EarlGrey試圖等待5.0秒,達到了 空閒狀態的應用程序,但事實並非如此。 EarlGrey現在不得不清理狀態 跟蹤,因爲測試 - [EGT TESTLOGIN]可能造成的UI 線程處於非空閒狀態無限期

現在我該功能關閉時,所有工作正常,但無法理解可能是這種問題的原因。我在Xcode 7 UI自動化方面遇到了同樣的問題,但是僅在整個APP的1個屏幕上(因爲一些海量數據訪問器)而不是在歡迎頁面上。

這裏是國家AppStateTracker:

Waiting for a draw/layout pass to complete 
Waiting for root UIViewController to appear 
+0

在我看來,當測試結束時,某些東西會使應用處於非空閒狀態。發生這種情況時,您能否打印出[GREYAppStateTracker sharedInstance]的描述並粘貼結果作爲問題的一部分? – khandpur

+0

在說明中添加了po。但是,在我的APP上發生的事情在測試結束時並沒有失敗,但從一開始 –

+0

我看到'等待根UIViewController出現'。應該有一個實際導致該應用程序處於該狀態的調用堆棧。它應該來自一個viewWillAppear調用。我的猜測是,有不平衡的viewDidAppear調用,它可以發生在你的UIViewController的子類未能調用[super viewDidAppear:animated];請參閱https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/viewDidAppear:,更具體地說它說**「你必須在超級你的實施中有一些問題。「** – khandpur

回答

2

如果不結束動畫(如加載動畫),您的應用程序將永遠不會被閒置,所以,你將不得不刪除動畫或在一段時間後停止

如果動畫確實停止,那麼您可以使用FAQ中的信息在How should I handle animations?下解決您的問題。

相關問題