XCUICoordinate
APIで特定のポイントをタップできます。残念ながら、ピクセル座標を参照して「10,10 をタップ」とだけ言うことはできません。実際のビューに対する相対的なオフセットで座標を作成する必要があります。
上記の Web ビューを使用して、相対座標を操作できます。
let app = XCUIApplication()
let webView = app.webViews.element
let coordinate = webView.coordinateWithNormalizedOffset(CGVector(dx: 10, dy: 10))
coordinate.tap()
補足ですが、Web ビューを直接操作してみましたか? app.links["Link title"].tap()
orを使用して多くの成功を収めましたapp.staticTexts["A different link title"].tap()
。これは、私がまとめたデモ アプリで、Web ビューとのやり取りを示しています。
更新: Michal W. がコメントで指摘したように、オフセットの正規化を心配することなく、座標を直接タップできるようになりました。
let normalized = webView.coordinate(withNormalizedOffset: CGVector(dx: 0, dy: 0))
let coordinate = normalized.withOffset(CGVector(dx: 10, dy: 10))
coordinate.tap()
正規化されたベクトルに 0,0 を渡し、次に実際のポイント 10,10 を 2 番目の呼び出しに渡していることに注意してください。