Make sure to keep your plugin updated:
buildscript {
repositories {
google()
gradlePluginPortal()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
Use the new flag in testOptions called animationsDisabled:
android {
...
testOptions {
animationsDisabled = true
}
}
Source: https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.TestOptions.html#com.android.build.gradle.internal.dsl.TestOptions:animationsDisabled
You can try turning off animations on your device/emulator manually:
To avoid flakiness, we highly recommend that you turn off system
animations on the virtual or physical devices used for testing. On
your device, under Settings > Developer options, disable the following
3 settings:Window animation scale Transition animation scale Animator duration
scale
Source: https://developer.android.com/training/testing/espresso/setup#set-up-environment
You can try using adb via command line:
# Turn off animations
adb shell settings put global window_animation_scale 0 &
adb shell settings put global transition_animation_scale 0 &
adb shell settings put global animator_duration_scale 0 &
Source: https://github.com/jaredsburrows/android-gif-example/blob/master/.travis.yml#L34
You can try LinkedIn’s TestButler:
TestButler.verifyAnimationsDisabled(InstrumentationRegistry.getTargetContext());
Source: https://github.com/linkedin/test-butler/blob/master/test-butler-demo/src/androidTest/java/com/linkedin/android/testbutler/demo/AnimationDisablerTest.java#L26
You can try creating a TestRule and Gradle task for your espresso tests:
Source: https://product.reverb.com/disabling-animations-in-espresso-for-android-testing-de17f7cf236f