Xcode UI Test UIKeyInput typeText

Во время тестирования пользовательского интерфейса XCode, как я могу insertText для UIView что соответствует UIKeyInput?

Я создал CodeInputView что соответствует UIKeyInput,

Когда я записываю себя, вводя код вручную, Xcode пишет app.typeText("1234"),

Но, когда я пытаюсь воспроизвести это, я получаю сообщение об ошибке UI Testing Failure - ни элемент, ни потомок не имеют фокус клавиатуры. И ни одно из решений этого вопроса не сработало.

2 ответа

Я нашел решение для UIKeyInput. Пожалуйста, используйте:

app.keys["1"].tap()
app.keys["2"].tap()
app.keys["3"].tap()
app.keys["4"].tap()

// Instead of app.typeText("1234")

CodeInputView Нужно сосредоточиться, прежде чем ввод текста будет работать. Получите доступ к вводу либо по его заполнителю, либо вручную установите метку доступности.

let app = XCUIApplication()
let codeTextField = app.textFields["Your code"]

codeTextField.tap()
app.typeText("1234")

Выше предполагается, что метка местозаполнителя или специальных возможностей была установлена ​​на "Ваш код".

Другие вопросы по тегам