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")
Выше предполагается, что метка местозаполнителя или специальных возможностей была установлена на "Ваш код".