5

在 Xcode UI 测试期间,我如何insertText获得UIView符合的UIKeyInput

我创建了一个CodeInputView符合UIKeyInput.

当我记录自己手动输入代码时,Xcode 会写入app.typeText("1234").

但是,当我尝试播放它时,我收到错误UI Testing Failure -既不是元素也不是任何后代都有键盘焦点。而且,这个问题的解决方案都没有奏效。

4

2 回答 2

5

我找到了 UIKeyInput 的解决方案。请用:

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

// Instead of app.typeText("1234")
于 2017-02-18T12:39:43.767 回答
2

CodeInputView输入文本之前的需求焦点将起作用。通过占位符文本访问输入或手动设置可访问性标签。

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

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

以上假设占位符或可访问性标签设置为“您的代码”。

于 2016-03-02T11:13:27.793 回答