【问题标题】:Detox Test device.disableSynchronization() works on iOS but not android排毒测试 device.disableSynchronization() 适用于 iOS 但不适用于 android
【发布时间】:2021-10-21 09:11:01
【问题描述】:

我的测试套件在 iOS 上运行良好,该应用程序有许多后台进程正在运行,这会阻止大部分测试在同步模式下工作。异步命令在 iOS 模拟器上正常运行,但是当我在 android 模拟器上运行它们时,就好像我从未调用过 await device.disableSynchronization()。

测试仍然挂起并且控制台日志:

The app is busy, due to:
     - Enqueued timers
     - Animations running on screen

关于如何解决这个问题的任何想法?

进一步审查显示错误消息:

应用未响应以下网络请求:

奇怪的是列出的网络请求已经完成了。据称该应用程序没有响应的请求是一个按钮,该按钮导航到一个新屏幕,这会导致一个有点冗长的网络请求。网络请求完成后,其他进程继续运行,需要禁用同步。由于 Detox 仍在等待应用程序对按钮点击的一些响应,因此它不会继续执行下一个非同步操作。有什么办法可以保证 Detox 收到这个 .tap() 的响应?

【问题讨论】:

    标签: android react-native e2e-testing detox


    【解决方案1】:

    更深入的调查表明,这很可能是由一个挥之不去的动画引起的,无论出于何种原因 device.disablesynchronization() 在 Android 版本上都会忽略该动画。我现在正在根据 wix 提供的过时文档模拟此文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多