2016-09-30 80 views
3

有時在Xcode的UITests下,編譯器會在加載和呈現之前嘗試點擊該按鈕。然後出現像no matched found for...這樣的問題。如何在Xcode的UITests下等待,直到點擊某個視圖纔可見?

但對於這個簡單的解決方法是:

sleep(1) //wait 1 second and give `mybutton` time to load and be accessible for uitests 
mybutton.tap() 

但是,這是可怕的,因爲我不能把有0.1作爲參數。在很多按鈕前等待1秒鐘,這讓我很煩。

有沒有辦法等到它對uitests可見?

回答

5

您應該創建一個XCTestExpectation並等待它要滿足

expectationForPredicate(NSPredicate(format: "hittable == true"), evaluatedWithObject: mybutton, handler: nil) 
waitForExpectationsWithTimeout(10.0, handler: nil) 

mybutton.tap() 
+1

對於斯威夫特3你可以離開'handler'參數。 –

相關問題