gpt4 book ai didi

ios - XCUITest 使用 Springboard 测试 native Callkit UI。如何获取来电标签?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:20 25 4
gpt4 key购买 nike

我正在尝试在我们的应用程序中测试 VOIP 通话。我模拟一个调用,并尝试断言是否存在正确的调用者 ID。但是,我无法使用以下方法访问来电者姓名标签“Bob”:

let springBoard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
XCTAssert(springBoard.staticTexts["Bob‬"].waitForExistence(timeout: 10)) // Assertion fails

但是,如果我尝试使用相同的调用访问它正下方的标签“*** Audio ...”,则断言通过:

XCTAssert(springBoard.staticTexts["*** Audio…"].waitForExistence(timeout: 10))

当我打印出 springBoard.debugDescription 时,我在可访问性层次结构中找到“Bob”和“*** Audio ...”,它们都是静态文本:

Debug Description

正在测试的屏幕:

Native UI Being Tested

如何访问“Bob”标签并断言它是正确的来电显示?

最佳答案

我遇到了同样的问题。我通过使用带有 LIKE 而不是仅使用名称的 NSPredicate 来解决这个问题。我认为在名称周围添加了隐藏字符。

            XCTAssert(springBoard.staticTexts.matching(NSPredicate(format: "label LIKE '*Bob*'")).firstMatch.waitForExistence(timeout: 10))

这对我有用,对你也应该有用。

关于ios - XCUITest 使用 Springboard 测试 native Callkit UI。如何获取来电标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57356675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com