1

我的应用程序中有一个登录屏幕,然后在登录视图被关闭后会出现一个标签栏。

应用程序本身在所有设备/模拟器中运行良好。UI 测试适用于除 iphone 4s 之外的所有模拟器。

我认为原因是登录后,登录屏幕消失的时间太长了。因此,当我尝试访问标签栏时,它会引发异常。

我试过了

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."

为什么期望不起作用?我怎么解决这个问题?

4

1 回答 1

0

所以这个问题似乎是无论出于何种原因,XCUIElementQueries 集合都不存在 .exists 属性。在你的例子中,你不能做app.tabBars.exists. 但是,您可以将谓词更改为:

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

这应该有效。

于 2017-03-21T16:18:03.163 回答