过渡动画比例不会禁用应用程序内部的动画

问题描述 投票:4回答:1

我在进行一些Espresso UI测试时遇到问题:我想在应用程序中禁用动画,这样我就不需要设置超时/需要等待动画完成。

禁用android设备上开发人员选项中的Window动画比例,Transition动画比例,Animator持续时间比例不会在使用android的导航组件在片段之间导航时禁用动画。

动画设置如下:

<action
    android:id="@+id/confirmationAction"
    app:destination="@id/confirmationFragment"
    app:enterAnim="@anim/slide_in_right"
    app:exitAnim="@anim/slide_out_left"
    app:popEnterAnim="@anim/slide_in_left"
    app:popExitAnim="@anim/slide_out_right" />

如何在运行espresso UI测试时如何禁用此动画?

更新:

[我跟随this guide of google讲述了使用导航组件在片段之间进行导航。

然后,我查看了有关使用Espresso以及在the first guidethe second guide上测试我的应用程序的google指南,我发现的第一点是要通过开发人员选项禁用动画,因此我认为这是禁用动画的正确方法

android animation navigation android-espresso
1个回答
0
投票

我遇到了同样的问题,最好能想到的是,以编程方式禁用导航动画,以防我正在运行测试:

fun getBuilderWithAdditionalNavOptions(): NavOptions.Builder {
  val optionsBuilder = NavOptions.Builder()
  if (inTest)
    optionsBuilder
      .setEnterAnim(0).setExitAnim(0)
      .setPopEnterAnim(0).setPopExitAnim(0)

  return optionsBuilder
}

inTest是项目范围的变量,在运行浓缩咖啡测试时设置为true

© www.soinside.com 2019 - 2024. All rights reserved.