Xcode UI测试UIKeyInput typeText

ma1*_*w28 5 ios uikeyinput swift xcode-ui-testing

在Xcode的UI测试,我怎么insertTextUIView符合UIKeyInput

我创建了一个CodeInputView符合的UIKeyInput

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

但是,当我尝试播放该错误时,出现错误UI Testing Failure-元素和任何后代都不具有键盘焦点。而且,该问题的解决方案均无效。

小智 5

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

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

// Instead of app.typeText("1234")
Run Code Online (Sandbox Code Playgroud)


Joe*_*tti 2

在输入文本之前需要CodeInputView集中注意力才能工作。通过占位符文本访问输入或手动设置辅助功能标签。

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

codeTextField.tap()
app.typeText("1234")
Run Code Online (Sandbox Code Playgroud)

上面假设占位符或辅助功能标签设置为“您的代码”。