android - 为云服务中的测试禁用动画(以编程方式?)

标签 android animation testing

目前我们可以看到两个主要的云测试服务:

  • 亚马逊 AWS Device Farm
  • Google 云测试实验室

不支持 espresso 开发人员建议的禁用设备动画: https://google.github.io/android-testing-support-library/docs/espresso/setup/index.html#setup-your-test-environment

亚马逊实际上禁用了窗口动画,但这还不够,因为最大的不稳定来源是 Animator。

Google 承认了这个问题,但修复它需要一些时间。

与此同时,您将如何在无法访问设备的情况下禁用 Animator 动画?

最佳答案

您是说开发选项中的窗口动画吗?如果是这样,在 @BeforebeforeActivityLaunched() 处通过反射(也许?)禁用可能值得尝试。

基本上,窗口缩放和动画值是通过全局 IWindowManager 设置的。开发者选项中的值存储为共享首选项。

我怀疑访问 ServiceManagerIWindowManager 不会引发 SecurityException 但是您可能想看看 Settings.Global.ANIMATOR_DURATION_SCALEWINDOW_ANIMATION_SCALE。更改此全局设置可能需要在您的应用程序中获得额外权限。

根据文档,将 WINDOW_ANIMATION_SCALE 切换为 0 将摆脱任何窗口动画:

Scaling factor for normal window animations. Setting to 0 will disable window animations.

关于android - 为云服务中的测试禁用动画(以编程方式?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35582646/

相关文章:

spring - 我可以复制 Web 服务进行测试吗?

javascript - 在 Mocha 中,我可以断言请求超时吗?

testing - 如何检测 URL 是否在加载页面时触发

php - 来自网络服务器的android交易通知

ios - UIVIew animateWithDuration 线性?

cocoa - 淡入淡出动画不适用于 OS X 10.6/7 下的图层支持 View

Android ViewPropertyAnimator 不会同时缩放

android - 对包含两种数据类的 ArrayList<Any> 进行排序

android - 触摸不可见 View 后面的按钮

android - Viewpager 和 Tab 的滚动问题