Как сделать сравнение меток нечувствительным к регистру в XCUITest?

На работе у нас есть пара тестов, которые опираются на этикетки. К сожалению, метка чувствительна к регистру, поэтому "Attachment" отличается от "attachment". Есть ли способ настроить XCUI, чтобы сделать сравнение меток без учета регистра?

Я надеюсь, что существует что-то вроде continueAfterFailure.

Я пытался смотреть онлайн и в stackru ( прописные, строчные, регистр и регистр чувствительный), но ничего полезного не вышло. Я знаю, что лучшим решением является создание идентификаторов AX, и я тоже буду работать над этим, но мне было интересно, было ли возможно сравнение меток без учета регистра.

Любой указатель приветствуется. Спасибо!

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)
Другие вопросы по тегам