Ограничение в 128 символов в тестовом интерфейсе Xcode - PullRequest
0 голосов
/ 27 ноября 2018

Этот тест не пройден, поскольку

превышает максимальную длину в 128 символов.Вы можете обойти это ограничение, создав запрос с помощью пользовательского NSPredicate, в котором указывается свойство (метка, заголовок, значение, placeholderValue или идентификатор), с которым нужно сопоставлять. '

func testMessage() {
        app.buttons["BEGIN"].tap()

        let tablesQuery = app.tables
        XCTAssert(tablesQuery.children(matching: .cell).element(boundBy: 0).staticTexts["<EXTREMELY LONG TEXT HERE (200chars)>"].exists)
    }

Как я могупреобразуйте это так, чтобы я мог обойти ограничение в 128 символов при проверке достоверности текста.

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете использовать label LIKE для вашей полной строки:

let yourSuperLongText = "your super long string"
let predicate = NSPredicate(format: "label LIKE %@", yourSuperLongText)
let element = tablesQuery.children(matching: .cell).element(boundBy: 0).staticTexts.element(matching: predicate)

XCTAssert(element.exists)

Или вы можете использовать label CONTAINS для части вашей строки:

 let partOfYoursSuperLongText = "part of your super long string"
 let predicate = NSPredicate(format: "label CONTAINS[c] %@", partOfYoursSuperLongText)
 let element = tablesQuery.children(matching: .cell).element(boundBy: 0).staticTexts.element(matching: predicate)

 XCTAssert(element.exists)

Подробнее здесь: Как проверить, что staticTexts содержит строку, используя XCTest

и здесь: https://developer.apple.com/documentation/foundation/nspredicate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...