Closed3
Android Emulator上のテストで、アニメーションによりタップ可能タイミングが遅くなり、UIテストがコケる

テストが不安定になるのを避けるため、使用する仮想デバイスまたは物理デバイスでシステム アニメーションをオフにすることを強くおすすめします。デバイスの [設定] > [開発者向けオプション] で、次の 3 つの設定を無効にします。
- ウィンドウ アニメスケール
- トランジション アニメスケール
- Animator 再生時間スケール
上記をもとに端末のアニメーション関連の開発者オプションを無効にした場合、アプリ起動時のActivity表示・非表示などはアニメーションオフになるが、アプリ内の画面遷移などのアニメーションはオフにならない。
adb shell settings put global window_animation_scale 0.0
adb shell settings put global transition_animation_scale 0.0
adb shell settings put global animator_duration_scale 0.0

追加でGradleに animationsDisabled = true
を追加することでアプリ内の画面遷移などのアニメーションもオフになる。
app/build.bradle
android {
testOptions {
+ animationsDisabled = true
}
}

ViewPager2
のページ切り替えのアニメーションは、smoothScroll = false
とすることで無効化できる。
端末の開発者設定やGradleのオプションでアニメーション無効化してもここには効かないようなので、コード内でテスト時は false とするみたいな分岐が必要そう
このスクラップは2024/08/12にクローズされました