2015-12-23 52 views
1

我有一個登錄屏幕在我的應用程序,然後登錄後視圖被解僱了一個tabbar出現。Swift UI測試失敗iphone4s模擬器與其他人很好

應用程序本身適用於所有設備/模擬器。除了iphone 4之外,所有模擬器都可以使用UI測試。

我認爲原因是登錄後,登錄屏幕消失的時間過長。所以當我嘗試訪問tabbar時,它會引發異常。

我試圖

let tabBarsQuery = app.tabBars 
let predicate = NSPredicate(format: "exists == true") 
expectationForPredicate(predicate, evaluatedWithObject: tabBarsQuery, handler: nil) 
waitForExpectationsWithTimeout(15, handler: nil) 

爲什麼期望不工作我得到以下錯誤

failed: caught "NSUnknownKeyException", "[<XCUIElementQuery 0x7e080d40> valueForUndefinedKey:]: this class is not key value coding-compliant for the key exists." 

?我怎麼解決這個問題?

+0

您用於測試的所有設備是否具有完全相同的iOS固件? – LinusGeffarth

+0

我將所有模擬器設置爲9.2,現在它們都發生在所有模擬器中。 –

+0

當我刪除'謂詞'它適用於所有他們除了4s雖然 –

回答

0

所以這個問題似乎是,無論出於何種原因,XCUIElementQueries的集合都不存在.exists屬性。在你的例子中,你不能做app.tabBars.exists。但是,您可以將謂詞更改爲:

let predicate = NSPredicate(format: "count > 0") 

而且這應該起作用。

相關問題