使用 Detox 运行模拟器时出现问题:[DetoxServer.js/CANNOT_FORWARD] role=testee not connected

Posted

技术标签:

【中文标题】使用 Detox 运行模拟器时出现问题:[DetoxServer.js/CANNOT_FORWARD] role=testee not connected【英文标题】:Problem with running emulator with Detox: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected 【发布时间】:2020-02-26 00:42:55 【问题描述】:

我已经成功构建并在 ios 模拟器上运行了排毒测试。我已经为 android 成功构建了 Detox,但是在尝试运行测试时,我看到应用程序启动,然后出现错误,因为 DetoxServer 无法转发。测试表明它是未分配的。我认为应该将其分配给设备或模拟器 ID。

复制

运行以下命令: yarn run detox test -c android.emu.release --loglevel trace

环境

排毒:^14.5.1 反应原生:0.60.5 节点:^8.3 || >=10.* 设备:emulator-15018 设备 操作系统:API 28

详细排毒日志

detox[70981] TRACE: [exec.js/EXEC_SUCCESS, #17] u0_a106      29575  1934 1452728 123920 0                   0 S com.app_name.app

detox[29575] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onLaunchApp( deviceId: 'emulator-15018',
  bundleId: 'com.app_name.app',
  launchArgs:
    detoxServer: 'ws://localhost:50780',
     detoxSessionId: 'beebae37-5672-7400-eb92-e9f14ad9b594' ,
  pid: 29575 )
detox[70981] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] "type":"isReady","params":,"messageId":-1000
detox[70981] TRACE: [DetoxServer.js/MESSAGE] role=tester action=isReady (sessionId=beebae37-5672-7400-eb92-e9f14ad9b594)
detox[70981] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=beebae37-5672-7400-eb92-e9f14ad9b594)
A test to validate the Login page assigned to undefined

【问题讨论】:

【参考方案1】:

我对 Detox 有一个未解决的问题,但 temporary solution 似乎是用这个设置 android/build.gradle

buildscript 
    ext 
        targetSdkVersion = 27
    

然后使用 API 27 上的模拟器运行。

【讨论】:

以上是关于使用 Detox 运行模拟器时出现问题:[DetoxServer.js/CANNOT_FORWARD] role=testee not connected的主要内容,如果未能解决你的问题,请参考以下文章

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

在 iOS 模拟器中使用 MPMediaPickerController 时出现运行时错误

移动模拟器/模拟器 Detox 屏幕截图工件在不同主机上运行时会有所不同

获取 ReferenceError:在 react-native ios 上运行 detox 测试时未定义设备

使用 Android 模拟器运行 Flutter 代码时出现 JAVA_HOME 错误

在 iOS 上运行 detox 测试时模拟器无法打开