結論
UiDevice.getInstance(getInstrumentation()).executeShellCommand("pm clear com.android.chrome")
こいつをsetUp時に呼ぶ
背景
UI Automatorを利用したAndroidのUITest実行時にSNSログインなどのアプリ外の動作を検証するテストを作りたかった
もちろん各SNS連携後のブラウザでの動作はUI Automatorを使って自動化することができるのですが、
FacebookやYahoo!ログインではブラウザのキャッシュに残っている状況によってパスワード入力がスキップされたりメールアドレス入力が既に入力されている状態になったりと実行時によって動作が変わってしまう
よって先にすべてのChromeブラウザのキャッシュを毎度クリアしてテスト実行しようとした
解説
UiDevice.getInstance(getInstrumentation())
UI Automatorを利用してアプリ外の動作を行います
.executeShellCommand("pm clear com.android.chrome")
adb shell commandを実行します。
これでchromeアプリのストレージを削除します
補足
chrome以外のアプリのストレージを削除したい
$ adb shell pm list packages
アプリパッケージの一覧が表示されますのでそれを引数に指定してください
参考