是否可以在webview中XCTest文本字段?
答
您必须将您的HTML元素公开到辅助功能。对于文本字段,您可以这样做。
<div id="text-input">Super</div>
<input type="text" aria-labelledby="text-input" value="empty" />
这是您的测试可能看起来怎么样这样的事情。
func testExample()
{
let
textField = app.webViews.textFields["Super"]
textField.tap()
let before = textField.value as? String
XCTAssertEqual(before, "empty")
// This is strange but without this sleep typeText method doesn't work
sleep(1)
textField.typeText("lorem ipsum")
let after = textField.value as? String
XCTAssertEqual(after, "emptylorem ipsum")
}
通常,将HTML元素暴露给辅助功能是一个困难的领域。你可以找到很多例子here。您也可以检查list of supported elements。祝你好运。