概要
iOSのXCUITestで、WKWebViewのTextFieldで「すべての選択」できない問題への対処です。
通常のapp.textFields
でアクセスできる要素は情報がありますが、
app.webViews
以下への対応方法が見つからなかったのでいろいろ試してみました。
普通のTextFiledをtap()したときと違って、webViewだとカーソル位置が中央にくるのもタチが悪い 😇
「すべて選択 -> 削除」の動作を実現しています。
環境
- Xcode9以上
- iOS13対応
- WKWebView対応
// TextFieldをとってくる
let textField = app.webViews.textFields.element(boundBy: num)
textField().tap()
textField().twoFingerTap()
textField().tap()
app.menuItems["すべてを選択"].tap()
textField().typeText(XCUIKeyboardKey.delete.rawValue)
これでどうだろうか。。。
補足
プロジェクトの言語設定が日本語のときは、
すべてを選択
でOK
Project設定 -> TARGETS -> Info -> Custom iOS target Properties -> Localization native development region -> Japan英語環境のときは
Select All
でOKSimulatorの言語設定は関係ないはずです。