【发布时间】:2019-01-30 13:57:30
【问题描述】:
我目前正在 Espresso 中为一个包含许多程序动画的应用程序开发一个 UI 测试套件。其中许多动画实际上是无限循环的,这使得 Espresso 在等待空闲时无限期挂起。
现在,不幸的是,这些动画不是使用 Animator 库类开发的,因此关闭动画比例(通过开发人员设置)的常用方法在这里没有任何效果。同时,开发团队对将测试相关代码添加到应用程序代码中持谨慎态度(例如,这会阻止我使用标志/环境变量来手动停止动画)。
是否有解决方案可以在运行 UI 测试时全局禁用所有动画,而无需在应用程序中添加代码,而不管它们的实现如何?
【问题讨论】:
-
您找到解决方案了吗?我也面临同样的问题
-
已经有一段时间了,从那以后我学到了一些关于测试自动化的知识。所以我目前的看法是,如果不接触应用程序代码,根本不可能做到这一点(很高兴我设法说服开发人员允许我这样做)。原因是系统不可能知道所有可能随时间改变布局设置的任意代码,从而创建动画。这对你有意义吗?
-
是的,谢谢。如果我想让测试正常工作,我想我必须做同样的事情并重新实现我的动画。
-
如果您的动画不是应用程序正常工作所必需的,您可以在 BuildConfig 类中添加一个标志并使用它来有条件地运行动画。然后在你想运行 Espresso 测试时将该标志设置为 true/false
标签: android animation testing android-espresso ui-testing