1

在工作中,我们有几个依赖标签的测试。遗憾的是,标签区分大小写,因此“附件”与“附件”不同。有没有办法配置 XCUI 进行标签比较不区分大小写?

我希望存在类似continueAfterFailure的东西。

我尝试在网上和stackoverflow(大写小写区分大小写中查找,但没有任何有用的结果。我知道最好的解决方案是创建 AX id,并且也会朝着这个方向努力,但我想知道是否可以进行不区分大小写的标签比较。

任何指针表示赞赏。谢谢!

4

1 回答 1

0

您可以形成一个NSPredicate来进行不区分大小写的字符串匹配,例如

extension XCUIElementQuery {
    func caseInsensitiveLabel(_ label: String) -> XCUIElement {
        return self.matching(NSPredicate(format: "label MATCHES[cd] %@", label)).firstMatch
    }
}

let app = XCUIApplication()
let label = app.staticTexts.caseInsensitiveLabel("sOmE tExT")
XCAssert(label.exists)
于 2019-03-18T00:16:07.040 回答