在 Xcode UI 测试期间,我如何insertText
获得UIView
符合的UIKeyInput
?
我创建了一个CodeInputView
符合UIKeyInput
.
当我记录自己手动输入代码时,Xcode 会写入app.typeText("1234")
.
但是,当我尝试播放它时,我收到错误UI Testing Failure -既不是元素也不是任何后代都有键盘焦点。而且,这个问题的解决方案都没有奏效。
在 Xcode UI 测试期间,我如何insertText
获得UIView
符合的UIKeyInput
?
我创建了一个CodeInputView
符合UIKeyInput
.
当我记录自己手动输入代码时,Xcode 会写入app.typeText("1234")
.
但是,当我尝试播放它时,我收到错误UI Testing Failure -既不是元素也不是任何后代都有键盘焦点。而且,这个问题的解决方案都没有奏效。
我找到了 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")
以上假设占位符或可访问性标签设置为“您的代码”。