我目前正在Espresso中为一个具有许多程序动画的应用程序开发UI测试套件。实际上,其中许多动画都是无限循环的,这使得Espresso在等待空闲状态时可以无限期地挂起。
现在,不幸的是,这些动画不是使用Animator库类开发的,因此关闭动画缩放比例的常规方法(通过“开发人员设置”)在这里不起作用。同时,开发团队对在应用程序的代码中添加与测试相关的代码保持警惕(例如,这阻止了我使用标志/环境变量来手动停止动画)。
是否存在一种解决方案,可以在不执行任何动画的情况下全局禁用所有动画,而无需在运行UI测试时在应用程序中添加代码?
答案 0 :(得分:-1)
到目前为止,我一直能找到的最佳解决方案是在执行测试之前使用命令行关闭设备动画。就是制作一个执行这些命令的小型Shell脚本
adb shell设置将全局window_animation_scale设置为0 亚行外壳程序设置将全局transition_animation_scale 0 亚行外壳设置将全局animator_duration_scale 0