我正在尝试在我们的应用程序中测试VOIP呼叫。我模拟一个呼叫,并尝试断言是否存在正确的呼叫者ID。但是,我无法使用以下命令访问呼叫者姓名标签"Bob“:
let springBoard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
XCTAssert(springBoard.staticTexts["Bob"].waitForExistence(timeout: 10)) // Assertion fails但是,如果我尝试访问其正下方的标签“*音频…”使用相同的调用传递断言:
XCTAssert(springBoard.staticTexts["*** Audio…"].waitForExistence(timeout: 10))当我打印音频时,我找到了"Bob“和”* springBoard.debugDescription…“。在可访问性层次结构中,它们都是staticTexts:

正在测试的屏幕:

如何访问"Bob“标签并断言它是正确的呼叫者ID?
发布于 2019-08-05 21:06:30
我遇到了同样的问题。我使用带有LIKE的NSPredicate解决了这个问题,而不是只使用名字。我认为隐藏的字符被添加在名称周围。
XCTAssert(springBoard.staticTexts.matching(NSPredicate(format: "label LIKE '*Bob*'")).firstMatch.waitForExistence(timeout: 10))这对我有效,对你也应该有效。
https://stackoverflow.com/questions/57356675
复制相似问题