目前我们可以看到两个主要的云测试服务:
- 亚马逊 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 动画?
最佳答案
您是说开发选项中的窗口动画吗?如果是这样,在 @Before
或 beforeActivityLaunched()
处通过反射(也许?)禁用可能值得尝试。
基本上,窗口缩放和动画值是通过全局 IWindowManager
设置的。开发者选项中的值存储为共享首选项。
我怀疑访问 ServiceManager
或 IWindowManager
不会引发 SecurityException
但是您可能想看看 Settings.Global.ANIMATOR_DURATION_SCALE
和 WINDOW_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/