排毒将无法运行Android测试

时间:2019-06-04 16:27:28

标签: detox

在使用Detox运行我们的Android测试时遇到了一些麻烦。

我们已经创建了一个全新的react native项目,其依赖项和package.json结构与Detox Jest示例完全相同。

我们能够使用npm run build:android-debug来构建android软件包,并使用npm run test:android-debug来运行测试。

在执行过程中,我们注意到exec.js / KILL,之后我们的测试运行程序挂起并最终超时。

...

...

...

detox[33690] DEBUG: [exec.js/EXEC_CMD, #15] /Users/dorota/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell "ps | grep "com.binbuddy$""

detox[33690] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=9456756b-0d52-0847-b4a7-f7e52b993ad0)

detox[33690] DEBUG: [**exec.js/KILL**] sending SIGINT to [pid = 33711]: /Users/dorota/Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:57813 -e detoxSessionId 9456756b-0d52-0847-b4a7-f7e52b993ad0 -e debug ZmFsc2U= com.binbuddy.test/android.test.InstrumentationTestRunner

但是,如果运行Detox开玩笑的示例,我们将获得以下行为,而不是上面的KILL,我们将得到LOGINLOGIN_SUCCESS

...

...

...

detox[34701] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=e0029d9a-137a-90d8-09a5-2ebd70c8410f)

detox[34701] DEBUG: [**DetoxServer.js/LOGIN**] role=testee, sessionId=e0029d9a-137a-90d8-09a5-2ebd70c8410f

detox[34701] DEBUG: [**DetoxServer.js/LOGIN_SUCCESS**] role=testee, sessionId=e0029d9a-137a-90d8-09a5-2ebd70c8410f

并且测试在设备上成功运行。

您能否说明我们的设置可能出了什么问题?我们的android项目配置缺少某些内容吗?

浏览android项目后,我们注意到了它们之间的一些差异,例如build.gradle和gradle.properties

build.gradle具有以下区别:

    maven {
        // All of Detox' artifacts are provided via the npm module
        url "$rootDir/../node_modules/detox/Detox-android"
    }

和gradle.properties具有以下区别:

android.useDeprecatedNdk=true

0 个答案:

没有答案