在使用 Detox 运行测试期间,Android 模拟器无法启动应用程序

Posted

技术标签:

【中文标题】在使用 Detox 运行测试期间,Android 模拟器无法启动应用程序【英文标题】:Android simulator can't start the app during running test with Detox 【发布时间】:2020-08-22 21:51:51 【问题描述】:

我想用 detox 测试我们的应用程序。在 ios 上可以正常工作,但在 android 上还不行。

所以当我运行排毒测试时,模拟器会打开,但应用程序不会启动。在日志中声明构建成功。除此之外,当测试失败时,我可以在模拟器上打开应用程序,一切正常。 (测试还没有准备好开始,当问题发生时它们正在设置中)

这是我收到的错误消息:

DetoxRuntimeError: 无法在设备上运行应用程序

提示:很可能,您的测试已超时并调用 detox.cleanup() 在等待“就绪”消息时(结束 WebSocket) 来自检测过程。 在 EmulatorDriver._getInstrumentationCrashError (/Users/corinejanssen/PycharmProjects/de-selfcare/frontend/node_modules/detox/src/devices/drivers/android/AndroidDriver.js:175:12) 在 EmulatorDriver.instrumentationCloseListener (/Users/corinejanssen/PycharmProjects/de-selfcare/frontend/node_modules/detox/src/devices/drivers/android/AndroidDriver.js:142:67) 在 EmulatorDriver._terminateInstrumentation (/Users/corinejanssen/PycharmProjects/de-selfcare/frontend/node_modules/detox/src/devices/drivers/android/AndroidDriver.js:166:12) 在 processTicksAndRejections (internal/process/task_queues.js:97:5) 在异步子进程中。 (/Users/corinejanssen/PycharmProjects/de-selfcare/frontend/node_modules/detox/src/devices/drivers/android/AndroidDriver.js:266:7) 名称:'DetoxRuntimeError'

我使用的版本:

排毒:16.2.0 开玩笑:25.0.1 节点:12.16.0

有人遇到这个问题并解决了吗?

【问题讨论】:

【参考方案1】:

我通过尝试很多方法解决了这个问题。我认为这与 android/build.gradle 中缺少的依赖项有关。

为了准确起见,我把我们添加的所有依赖项都放到了这个文件中:

dependencies 
    classpath "com.android.tools.build:gradle:3.4.2"
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

【讨论】:

以上是关于在使用 Detox 运行测试期间,Android 模拟器无法启动应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在 IOS 上运行 Detox 测试并禁用 Android 运行

由于在应用程序安装期间超时而无法运行排毒测试

使用 Detox 在 Android 上设置相机权限

运行 detox/wix 测试用例 android.util.AndroidException: INSTRUMENTATION_FAILED:

排毒(Android):device.reloadReactNative 失败

使用 detox 以不同方向查看 UI (Android)