wix / Detox

Gray box end-to-end testing and automation framework for mobile apps
https://wix.github.io/Detox/
MIT License
11.07k stars 1.91k forks source link

Detox tests running locally but not in CI/CD pipeline #3842

Open alyssaw90 opened 1 year ago

alyssaw90 commented 1 year ago

Description

When running our detox tests locally everything is working as expected. When running the detox test via the Azure pipeline we get a timeout error (see below). The pipeline has worked in the past, but it is now broken. We have used the troubleshooting guidelines but could use some recommendations on what the issue could be. Is it because of the React Native version we are using? Do we need to upgrade our detox version? What versions of React Native does detox support?


23:45:39.016 detox[66548] INFO:  [test.js] mocha --config e2e/.mocharc.json --cleanup --configuration ios.sim.release --grep :android: --invert --artifacts-location /Users/runner/work/1/TestResults/artifacts/ --record-logs all --record-videos all --take-screenshots all --use-custom-logger true e2e

23:49:38.955 detox[66552] INFO:  [AppleSimUtils.js] com.microsoft.mymsft launched. To watch simulator logs, run:
        /usr/bin/xcrun simctl spawn 63A63B15-4DBA-41CC-B2A4-373DE87483F2 log stream --level debug --style compact --predicate 'process == "mymicrosoft"'
23:49:43.542 detox[66552] WARN:  [DetoxConnection.js/ERROR, #49673] Action dispatched too early, there is no session to use:

HINT: Please report this issue on our GitHub tracker:
https://github.com/wix/Detox/issues

{
  type: 'AppWillTerminateWithError',
  params: [Object],
  messageId: -10000
}
23:49:48.487 detox[66552] WARN:  [DetoxConnection.js/ERROR, #49673] Action dispatched too early, there is no session to use:

HINT: Please report this issue on our GitHub tracker:
https://github.com/wix/Detox/issues

{
  messageId: -10000,
  type: 'AppWillTerminateWithError',
  params: [Object]
}
  1) "before all" hook in "{root}"
23:50:39.964 detox[66552] ERROR: [APP_UNREACHABLE] Detox can't seem to connect to the test app(s)!

HINT: 

The test app might have crashed prematurely, or has had trouble setting up the connection.
Refer to our troubleshooting guide, for full details: https://wix.github.io/Detox/docs/troubleshooting/running-tests#tests-execution-hangs 

  0 passing (5m)
  1 failing

  1) "before all" hook in "{root}":
     Error: Timeout of 300000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
      at listOnTimeout (internal/timers.js:557:17)
      at processTimers (internal/timers.js:500:7)

23:50:44.329 detox[66548] ERROR: [cli.js] Command failed: mocha --config e2e/.mocharc.json --cleanup --configuration ios.sim.release --grep :android: --invert --artifacts-location /Users/runner/work/1/TestResults/artifacts/ --record-logs all --record-videos all --take-screenshots all --use-custom-logger true e2e

##[error]Bash exited with code '1'.

Your environment

Detox version: 19.13.0 React Native version: 0.65.1 Node version: 14.21.2 (pipeline) 16.17.1 (laptop) Device model: Azure Pipelines/Mac OS: Mac OS 12.6.2(pipeline)/12.6.2(laptop) Test-runner (select one): Other

noomorph commented 1 year ago

What do you get in the logs from the device? The message AppWillTerminateWithError means a native crash or an unhandled JS error.

alyssaw90 commented 1 year ago

@noomorph - When I check the pipeline for logs, no logs can be found. My team and I think it is because logs aren't being created. We have also confirmed we are calling the correct flags to create logs. I am going to check again today to see if the logs may have been missed.

noomorph commented 1 year ago

@d4vidi do we (technically) support React Native 0.65.x ? I guess we do, right? Maybe 0.59 is an issue, but 60+ is ok, AFAIR.

@alyssaw90 if there's indeed nothing literally, well, you could tweak your ci script to run this log dumper in parallel:

/usr/bin/xcrun simctl spawn booted log stream --level debug --style compact --predicate 'process == "mymicrosoft"' &

and see what it prints when you get AppWillTerminateWithError.

d4vidi commented 1 year ago

We don't check that far back for regressions so I can't give a hard yes on RN .65. I wouldn't be surprised to learn that it's not fully functional.

noomorph commented 1 year ago

Related idea: #3854.

alyssaw90 commented 1 year ago

Thank you @noomorph and @d4vidi for this additional information. I was able to find some logs and going through them this week.

adamsrosco commented 1 year ago

@alyssaw90 were you able to resolve the issue. I've noticed unless the react package manager is running the tests timeout. I am able to replicate it locally, have the package manager running and tests pass.

alyssaw90 commented 1 year ago

We have not been able to resolve the issue. I will pass this on that the timeout could be an issue and test that in our pipeline.

noomorph commented 1 year ago

It's unclear for me now what to do about this issue šŸ¤”

owens-ben commented 1 year ago

Also having a similar issue with android. It seems like there is an issue with the launchApp() wrapper that makes it time out

https://github.com/wix/Detox/issues/3602

owens-ben commented 1 year ago

Bump, spent literally weeks with Bitrise support trying to fix this and it's definitely a Detox issue. I also have the same issue where the logs don't get created.

This is a total blocker, would appreciate just a response from the Detox team about this!

I am 90% sure its something with the timeout in launchApp().

owens-ben commented 1 year ago

Here's a trace level log dump

Click me ``` BUILD SUCCESSFUL in 12m 47s 774 actionable tasks: 497 executed, 277 from cache 16:16:25.432 detox[6650] B lifecycle node_modules/.bin/detox test --configuration android.emu.Pixel4.android_12.qa.debug -d -l log.txt --configuration android.emu.generic e2e/Regression/test.e2e.ts --start --record-logs all --loglevel trace --detectOpenHandles --debug-synchronization 500 --artifacts-location /bitrise/deploy data: { "id": "8f787342-d42e-255b-08a3-a529b114e22b", "detoxConfig": { "configurationName": "android.emu.generic", "apps": { "default": { "type": "android.apk", "binaryPath": "android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk", "testBinaryPath": "android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk", "build": "ENVFILE=.env && cd android && ./gradlew assembleQaDebug assembleQaDebugAndroidTest -DtestBuildType=debug && cd .." } }, "artifacts": { "rootDir": "/bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z", "plugins": { "log": { "enabled": true, "keepOnlyFailedTestsArtifacts": false }, "screenshot": { "enabled": true, "shouldTakeAutomaticSnapshots": false, "keepOnlyFailedTestsArtifacts": false }, "video": { "enabled": false, "keepOnlyFailedTestsArtifacts": false }, "instruments": { "enabled": false, "keepOnlyFailedTestsArtifacts": false }, "uiHierarchy": { "enabled": false, "keepOnlyFailedTestsArtifacts": false } } }, "behavior": { "init": { "keepLockFile": false, "reinstallApp": true, "exposeGlobals": true }, "cleanup": { "shutdownDevice": false }, "launchApp": "auto" }, "cli": { "artifactsLocation": "/bitrise/deploy", "recordLogs": "all", "configuration": "android.emu.generic", "debugSynchronization": 500, "loglevel": "trace", "start": true }, "device": { "type": "android.emulator", "device": { "avdName": "emulator" } }, "logger": { "level": "trace", "overrideConsole": true, "options": { "showLoggerName": true, "showPid": true, "showLevel": false, "showMetadata": false, "basepath": "/bitrise/src/node_modules/detox/src", "prefixers": {}, "stringifiers": {} } }, "testRunner": { "retries": 0, "forwardEnv": false, "bail": false, "jest": { "setupTimeout": 120000, "teardownTimeout": 30000, "retryAfterCircusRetries": false, "reportSpecs": false, "reportWorkerAssign": false }, "args": { "$0": "jest", "_": [ "e2e/Regression/test.e2e.ts" ], "config": "e2e/jest.config.ts", "detectOpenHandles": true, "--": [] }, "$0": "jest" }, "session": { "autoStart": true, "debugSynchronization": 500 } }, "detoxIPCServer": "primary-6650", "testResults": [], "testSessionIndex": 0, "workersCount": 0 } 16:16:25.460 detox[6650] i ipc Server path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + ipc.config.id /tmp/detox.primary-6650 16:16:25.464 detox[6650] i ipc starting server on /tmp/detox.primary-6650 16:16:25.464 detox[6650] i ipc starting TLS server false 16:16:25.465 detox[6650] i ipc starting server as Unix || Windows Socket 16:16:25.474 detox[6650] i ws-server Detox server listening on localhost:36351... 16:16:25.475 detox[6650] i lifecycle Serialized the session state at: /tmp/8f787342-d42e-255b-08a3-a529b114e22b.detox.json 16:16:25.480 detox[6650] B lifecycle jest --config e2e/jest.config.ts --detectOpenHandles e2e/Regression/test.e2e.ts 16:16:29.843 detox[6662] i ipc Service path not specified, so defaulting to ipc.config.socketRoot + ipc.config.appspace + id 16:16:29.852 detox[6662] i ipc requested connection to primary-6650 /tmp/detox.primary-6650 16:16:29.853 detox[6662] i ipc Connecting client on Unix Socket : /tmp/detox.primary-6650 16:16:29.856 detox[6650] i ipc ## socket connection to server detected ## 16:16:29.858 detox[6662] i ipc retrying reset 16:16:29.861 detox[6662] i ipc dispatching event to primary-6650 /tmp/detox.primary-6650 : registerContext , { id: 'secondary-6662' } 16:16:29.865 detox[6650] i ipc received event of : registerContext { id: 'secondary-6662' } 16:16:29.866 detox[6650] i ipc dispatching event to socket : registerContextDone { testResults: [], testSessionIndex: 0 } 16:16:29.867 detox[6662] i ipc ## received events ## 16:16:29.869 detox[6662] i ipc detected event registerContextDone { testResults: [], testSessionIndex: 0 } 16:16:29.984 detox[6662] B lifecycle e2e/Regression/test.e2e.ts 16:16:30.004 detox[6662] B lifecycle set up environment 16:16:30.006 detox[6662] i ipc dispatching event to primary-6650 /tmp/detox.primary-6650 : registerWorker , { workerId: 'w1' } 16:16:30.007 detox[6650] i ipc received event of : registerWorker { workerId: 'w1' } 16:16:30.007 detox[6650] i ipc dispatching event to socket : registerWorkerDone { workersCount: 1 } 16:16:30.008 detox[6650] i ipc broadcasting event to all known sockets listening to /tmp/detox.primary-6650 : sessionStateUpdate { workersCount: 1 } 16:16:30.008 detox[6662] i ipc ## received events ## 16:16:30.009 detox[6662] i ipc detected event registerWorkerDone { workersCount: 1 } 16:16:30.192 detox[6662] i ipc ## received events ## 16:16:30.194 detox[6662] i ipc detected event sessionStateUpdate { workersCount: 1 } 16:16:30.198 detox[6650] B ws-server@37866 connection :36351<->:37866 16:16:30.200 detox[6662] i ws-client opened web socket to: ws://localhost:36351 16:16:30.203 detox[6662] i ws-client send message data: {"type":"login","params":{"sessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a","role":"tester"},"messageId":0} 16:16:30.206 detox[6650] i ws-server@37866 get data: {"type":"login","params":{"sessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a","role":"tester"},"messageId":0} 16:16:30.206 detox[6650] i ws-server created session fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a 16:16:30.207 detox[6650] i ws-server@37866 send data: { "type": "loginSuccess", "params": { "testerConnected": true, "appConnected": false }, "messageId": 0 } 16:16:30.208 detox[6650] i ws-server tester joined session fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a 16:16:30.208 detox[6662] i ws-client get message data: {"type":"loginSuccess","params":{"testerConnected":true,"appConnected":false},"messageId":0} 16:16:30.322 detox[6662] B device allocate args: ({"type":"android.emulator","device":{"avdName":"emulator"}}) 16:16:30.324 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/emulator/emulator" -list-avds --verbose 16:16:30.378 detox[6662] i child-process:EXEC_SUCCESS emulator 16:16:30.380 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/emulator/emulator" -version 16:16:30.701 detox[6662] i child-process:EXEC_SUCCESS INFO | Duplicate loglines will be removed, if you wish to see each indiviudal line launch with the -log-nofilter flag. Android emulator version 31.3.14.0 (build_id 9322596) (CL:N/A) Copyright (C) 2006-2017 The Android Open Source Project and many others. This program is a derivative of the QEMU CPU emulator (www.qemu.org). This software is licensed under the terms of the GNU General Public License version 2, as published by the Free Software Foundation, and may be copied, distributed, and modified under those terms. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 16:16:30.704 detox[6662] i device Detected emulator binary version { major: 31, minor: 3, patch: 14, toString: [Function: toString] } 16:16:30.705 detox[6662] i device:ALLOCATE_DEVICE Trying to allocate a device based on "emulator" 16:16:30.708 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" devices 16:16:30.759 detox[6662] i child-process:EXEC_SUCCESS List of devices attached emulator-5554 device 16:16:30.763 detox[6662] i device:TELNET_CONNECTING port: 5554, host: localhost 16:16:30.800 detox[6662] i device:DEVICE_LOOKUP Found a matching & free device emulator-5554 16:16:30.806 detox[6662] i device:ALLOCATE_DEVICE Settled on emulator-5554 16:16:30.807 detox[6662] B device _launchEmulator args: ("emulator", "emulator-5554", true, {"port":null}) 16:16:30.808 detox[6662] B device _awaitEmulatorBoot args: ("emulator-5554") 16:16:30.808 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "getprop dev.bootcomplete" 16:16:30.951 detox[6662] i child-process:EXEC_SUCCESS 1 16:16:30.954 detox[6662] E device _awaitEmulatorBoot 16:16:30.954 detox[6662] B artifacts-manager onBootDevice args: ({"deviceId":"emulator-5554","type":"emulator","coldBoot":false}) 16:16:30.955 detox[6662] E artifacts-manager onBootDevice 16:16:30.955 detox[6662] E device _launchEmulator 16:16:30.956 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "getprop ro.build.version.sdk" 16:16:30.991 detox[6662] i child-process:EXEC_SUCCESS 31 16:16:30.993 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global animator_duration_scale 0" 16:16:31.043 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.045 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global window_animation_scale 0" 16:16:31.086 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.088 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "settings put global transition_animation_scale 0" 16:16:31.129 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.132 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "dumpsys power | grep \"^[ ]*m[UW].*=\"" 16:16:31.234 detox[6662] i child-process:EXEC_SUCCESS mWakefulness=Awake mWakefulnessChanging=false mWakeLockSummary=0x0 mWakeUpWhenPluggedOrUnpluggedConfig=false mWakeUpWhenPluggedOrUnpluggedInTheaterModeConfig=false mUserActivityTimeoutOverrideFromWindowManager=-1 mUserInactiveOverrideFromWindowManager=false mUserId=0 mWakeLockSummary=0x0 mUserInteractionBackoffMillis=60000 16:16:31.237 detox[6662] E device allocate 16:16:31.274 detox[6662] B device installUtilBinaries args: () 16:16:31.274 detox[6662] E device installUtilBinaries 16:16:31.275 detox[6662] B device selectApp args: ("default") 16:16:31.292 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/build-tools/33.0.0/aapt" dump badging "/bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk" 16:16:31.330 detox[6662] i child-process:EXEC_SUCCESS package: name='com.mycompanyapp.app.qa' versionCode='8012345' versionName='2.2.0' platformBuildVersionName='13' platformBuildVersionCode='33' compileSdkVersion='33' compileSdkVersionCodename='13' install-location:'preferExternal' sdkVersion:'28' targetSdkVersion:'33' uses-permission: name='android.permission.SYSTEM_ALERT_WINDOW' uses-permission: name='android.permission.WRITE_EXTERNAL_STORAGE' uses-permission: name='android.permission.BLUETOOTH' maxSdkVersion='30' uses-permission: name='android.permission.BLUETOOTH_ADMIN' maxSdkVersion='30' uses-permission: name='android.permission.BLUETOOTH_SCAN' uses-permission: name='android.permission.BLUETOOTH_CONNECT' uses-permission: name='android.permission.ACCESS_FINE_LOCATION' uses-permission: name='android.permission.ACCESS_COARSE_LOCATION' uses-permission: name='android.permission.ACCESS_NETWORK_STATE' uses-permission: name='android.permission.MODIFY_AUDIO_SETTINGS' uses-permission: name='android.permission.INTERNET' uses-permission: name='android.permission.READ_PHONE_STATE' uses-permission: name='android.permission.CAMERA' uses-permission: name='android.permission.RECORD_AUDIO' uses-permission: name='com.google.android.gms.permission.AD_ID' uses-permission: name='android.permission.POST_NOTIFICATIONS' uses-permission: name='android.permission.READ_EXTERNAL_STORAGE' uses-permission: name='android.permission.ACCESS_WIFI_STATE' uses-permission: name='android.permission.WAKE_LOCK' uses-permission: name='com.google.android.c2dm.permission.RECEIVE' uses-permission: name='android.permission.READ_CALENDAR' uses-permission: name='android.permission.WRITE_CALENDAR' uses-permission: name='com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE' uses-permission: name='android.permission.RECEIVE_BOOT_COMPLETED' uses-permission: name='android.permission.FOREGROUND_SERVICE' uses-permission: name='android.permission.VIBRATE' uses-permission: name='android.permission.USE_FULL_SCREEN_INTENT' uses-permission: name='android.permission.SCHEDULE_EXACT_ALARM' uses-permission: name='android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS' maxSdkVersion='30' uses-permission: name='android.permission.ACCESS_NOTIFICATION_POLICY' uses-permission: name='android.permission.BROADCAST_STICKY' uses-permission: name='android.permission.CALL_PHONE' application-label:'Enhance Select' application-label-af:'Enhance Select' application-label-am:'Enhance Select' application-label-ar:'Enhance Select' application-label-as:'Enhance Select' application-label-az:'Enhance Select' application-label-be:'Enhance Select' application-label-bg:'Enhance Select' application-label-bn:'Enhance Select' application-label-bs:'Enhance Select' application-label-ca:'Enhance Select' application-label-cs:'Enhance Select' application-label-da:'Enhance Select' application-label-de:'Enhance Select' application-label-el:'Enhance Select' application-label-en-AU:'Enhance Select' application-label-en-CA:'Enhance Select' application-label-en-GB:'Enhance Select' application-label-en-IN:'Enhance Select' application-label-en-XC:'Enhance Select' application-label-es:'Enhance Select' application-label-es-419:'Enhance Select' application-label-es-US:'Enhance Select' application-label-et:'Enhance Select' application-label-eu:'Enhance Select' application-label-fa:'Enhance Select' application-label-fi:'Enhance Select' application-label-fr:'Enhance Select' application-label-fr-CA:'Enhance Select' application-label-gl:'Enhance Select' application-label-gu:'Enhance Select' application-label-hi:'Enhance Select' application-label-hr:'Enhance Select' application-label-hu:'Enhance Select' application-label-hy:'Enhance Select' application-label-in:'Enhance Select' application-label-is:'Enhance Select' application-label-it:'Enhance Select' application-label-iw:'Enhance Select' application-label-ja:'Enhance Select' application-label-ka:'Enhance Select' application-label-kk:'Enhance Select' application-label-km:'Enhance Select' application-label-kn:'Enhance Select' application-label-ko:'Enhance Select' application-label-ky:'Enhance Select' application-label-lo:'Enhance Select' application-label-lt:'Enhance Select' application-label-lv:'Enhance Select' application-label-mk:'Enhance Select' application-label-ml:'Enhance Select' application-label-mn:'Enhance Select' application-label-mr:'Enhance Select' application-label-ms:'Enhance Select' application-label-my:'Enhance Select' application-label-nb:'Enhance Select' application-label-ne:'Enhance Select' application-label-nl:'Enhance Select' application-label-or:'Enhance Select' application-label-pa:'Enhance Select' application-label-pl:'Enhance Select' application-label-pt:'Enhance Select' application-label-pt-BR:'Enhance Select' application-label-pt-PT:'Enhance Select' application-label-ro:'Enhance Select' application-label-ru:'Enhance Select' application-label-si:'Enhance Select' application-label-sk:'Enhance Select' application-label-sl:'Enhance Select' application-label-sq:'Enhance Select' application-label-sr:'Enhance Select' application-label-sr-Latn:'Enhance Select' application-label-sv:'Enhance Select' application-label-sw:'Enhance Select' application-label-ta:'Enhance Select' application-label-te:'Enhance Select' application-label-th:'Enhance Select' application-label-tl:'Enhance Select' application-label-tr:'Enhance Select' application-label-uk:'Enhance Select' application-label-ur:'Enhance Select' application-label-uz:'Enhance Select' application-label-vi:'Enhance Select' application-label-zh:'Enhance Select' application-label-zh-CN:'Enhance Select' application-label-zh-HK:'Enhance Select' application-label-zh-TW:'Enhance Select' application-label-zu:'Enhance Select' application-icon-120:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-160:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-240:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-320:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-480:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-640:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-65534:'res/mipmap-anydpi-v26/ic_launcher.xml' application-icon-65535:'res/mipmap-anydpi-v26/ic_launcher.xml' application: label='Enhance Select' icon='res/mipmap-anydpi-v26/ic_launcher.xml' application-debuggable launchable-activity: name='com.mycompanyapp.app.MainActivity' label='Enhance Select' icon='' feature-group: label='' uses-gl-es: '0x20000' uses-feature-not-required: name='android.hardware.bluetooth' uses-feature-not-required: name='android.hardware.camera' uses-feature-not-required: name='android.hardware.camera.autofocus' uses-feature-not-required: name='android.hardware.microphone' uses-feature-not-required: name='android.hardware.telephony' uses-feature: name='android.hardware.faketouch' uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps' uses-feature: name='android.hardware.location' uses-implied-feature: name='android.hardware.location' reason='requested android.permission.ACCESS_COARSE_LOCATION permission, and requested android.permission.ACCESS_FINE_LOCATION permission' uses-feature: name='android.hardware.screen.portrait' uses-implied-feature: name='android.hardware.screen.portrait' reason='one or more activities have specified a portrait orientation' uses-feature: name='android.hardware.wifi' uses-implied-feature: name='android.hardware.wifi' reason='requested android.permission.ACCESS_WIFI_STATE permission' main other-activities other-receivers other-services supports-screens: 'small' 'normal' 'large' 'xlarge' supports-any-density: 'true' locales: '--_--' 'af' 'am' 'ar' 'as' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-CA' 'en-GB' 'en-IN' 'en-XC' 'es' 'es-419' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'or' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh' 'zh-CN' 'zh-HK' 'zh-TW' 'zu' densities: '120' '160' '240' '320' '480' '640' '65534' '65535' native-code: 'x86_64' 16:16:31.332 detox[6662] E device selectApp 16:16:31.333 detox[6662] B device uninstallApp args: () 16:16:31.333 detox[6662] B artifacts-manager onBeforeUninstallApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:31.334 detox[6662] E artifacts-manager onBeforeUninstallApp 16:16:31.334 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list packages com.mycompanyapp.app.qa" 16:16:31.382 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.385 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list packages com.mycompanyapp.app.qa.test" 16:16:31.425 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.427 detox[6662] E device uninstallApp 16:16:31.427 detox[6662] B device selectApp args: ("default") 16:16:31.428 detox[6662] B device terminateApp args: () 16:16:31.428 detox[6662] B artifacts-manager onBeforeTerminateApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:31.429 detox[6662] E artifacts-manager onBeforeTerminateApp 16:16:31.429 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.mycompanyapp.app.qa" 16:16:31.473 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.475 detox[6662] B artifacts-manager onTerminateApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:31.476 detox[6662] E artifacts-manager onTerminateApp 16:16:31.476 detox[6662] E device terminateApp 16:16:31.476 detox[6662] E device selectApp 16:16:31.476 detox[6662] B device installApp args: () 16:16:31.477 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/build-tools/33.0.0/aapt" dump xmlstrings "/bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk" AndroidManifest.xml 16:16:31.501 detox[6662] i child-process:EXEC_SUCCESS String pool of 293 unique UTF-16 non-sorted strings, 293 entries and 0 styles using 23828 bytes: String #0: theme String #1: label String #2: icon String #3: name String #4: permission String #5: enabled String #6: debuggable String #7: exported String #8: process String #9: taskAffinity String #10: stateNotNeeded String #11: excludeFromRecents String #12: authorities String #13: initOrder String #14: grantUriPermissions String #15: priority String #16: launchMode String #17: screenOrientation String #18: configChanges String #19: value String #20: resource String #21: scheme String #22: host String #23: pathPrefix String #24: minSdkVersion String #25: versionCode String #26: versionName String #27: windowSoftInputMode String #28: noHistory String #29: targetSdkVersion String #30: maxSdkVersion String #31: allowBackup String #32: glEsVersion String #33: required String #34: installLocation String #35: hardwareAccelerated String #36: usesCleartextTraffic String #37: autoVerify String #38: resizeableActivity String #39: supportsPictureInPicture String #40: directBootAware String #41: networkSecurityConfig String #42: roundIcon String #43: visibleToInstantApps String #44: compileSdkVersion String #45: compileSdkVersionCodename String #46: appComponentFactory String #47: foregroundServiceType String #48: allowNativeHeapPointerTagging String #49: usesPermissionFlags String #50: String #51: /jes/ String #52: 13 String #53: 2.2.0 String #54: :playcore_missing_splits_activity String #55: GlideModule String #56: action String #57: activity String #58: android String #59: android.app.action.APP_BLOCK_STATE_CHANGED String #60: android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED String #61: android.app.action.NOTIFICATION_CHANNEL_GROUP_BLOCK_STATE_CHANGED String #62: android.app.action.SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED String #63: android.hardware.bluetooth String #64: android.hardware.camera String #65: android.hardware.camera.autofocus String #66: android.hardware.microphone String #67: android.hardware.telephony String #68: android.intent.action.ACTION_POWER_CONNECTED String #69: android.intent.action.ACTION_POWER_DISCONNECTED String #70: android.intent.action.BATTERY_LOW String #71: android.intent.action.BATTERY_OKAY String #72: android.intent.action.BOOT_COMPLETED String #73: android.intent.action.DEVICE_STORAGE_LOW String #74: android.intent.action.DEVICE_STORAGE_OK String #75: android.intent.action.DIAL String #76: android.intent.action.EDIT String #77: android.intent.action.GET_CONTENT String #78: android.intent.action.MAIN String #79: android.intent.action.QUICKBOOT_POWERON String #80: android.intent.action.SEND String #81: android.intent.action.SENDTO String #82: android.intent.action.TIMEZONE_CHANGED String #83: android.intent.action.TIME_SET String #84: android.intent.action.VIEW String #85: android.intent.category.BROWSABLE String #86: android.intent.category.DEFAULT String #87: android.intent.category.LAUNCHER String #88: android.media.action.IMAGE_CAPTURE String #89: android.net.conn.CONNECTIVITY_CHANGE String #90: android.permission.ACCESS_COARSE_LOCATION String #91: android.permission.ACCESS_FINE_LOCATION String #92: android.permission.ACCESS_NETWORK_STATE String #93: android.permission.ACCESS_NOTIFICATION_POLICY String #94: android.permission.ACCESS_WIFI_STATE String #95: android.permission.BIND_JOB_SERVICE String #96: android.permission.BLUETOOTH String #97: android.permission.BLUETOOTH_ADMIN String #98: android.permission.BLUETOOTH_CONNECT String #99: android.permission.BLUETOOTH_SCAN String #100: android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS String #101: android.permission.BROADCAST_STICKY String #102: android.permission.CALL_PHONE String #103: android.permission.CAMERA String #104: android.permission.DUMP String #105: android.permission.FOREGROUND_SERVICE String #106: android.permission.INTERNET String #107: android.permission.MODIFY_AUDIO_SETTINGS String #108: android.permission.POST_NOTIFICATIONS String #109: android.permission.READ_CALENDAR String #110: android.permission.READ_EXTERNAL_STORAGE String #111: android.permission.READ_PHONE_STATE String #112: android.permission.RECEIVE_BOOT_COMPLETED String #113: android.permission.RECORD_AUDIO String #114: android.permission.SCHEDULE_EXACT_ALARM String #115: android.permission.SYSTEM_ALERT_WINDOW String #116: android.permission.USE_FULL_SCREEN_INTENT String #117: android.permission.VIBRATE String #118: android.permission.WAKE_LOCK String #119: android.permission.WRITE_CALENDAR String #120: android.permission.WRITE_EXTERNAL_STORAGE String #121: android.settings.action.MANAGE_OVERLAY_PERMISSION String #122: android.support.FILE_PROVIDER_PATHS String #123: androidx.core.app.CoreComponentFactory String #124: androidx.core.content.FileProvider String #125: androidx.emoji2.text.EmojiCompatInitializer String #126: androidx.lifecycle.ProcessLifecycleInitializer String #127: androidx.room.MultiInstanceInvalidationService String #128: androidx.startup String #129: androidx.startup.InitializationProvider String #130: androidx.work.WorkManagerInitializer String #131: androidx.work.diagnostics.REQUEST_DIAGNOSTICS String #132: androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy String #133: androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy String #134: androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy String #135: androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy String #136: androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver String #137: androidx.work.impl.background.systemalarm.RescheduleReceiver String #138: androidx.work.impl.background.systemalarm.SystemAlarmService String #139: androidx.work.impl.background.systemalarm.UpdateProxies String #140: androidx.work.impl.background.systemjob.SystemJobService String #141: androidx.work.impl.diagnostics.DiagnosticsReceiver String #142: androidx.work.impl.foreground.SystemForegroundService String #143: androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver String #144: app.notifee.core.AlarmPermissionBroadcastReceiver String #145: app.notifee.core.BlockStateBroadcastReceiver String #146: app.notifee.core.ForegroundService String #147: app.notifee.core.NotificationAlarmReceiver String #148: app.notifee.core.NotificationReceiverActivity String #149: app.notifee.core.RebootBroadcastReceiver String #150: app.notifee.core.ReceiverService String #151: app_data_collection_default_enabled String #152: application String #153: backend:com.google.android.datatransport.cct.CctBackendFactory String #154: category String #155: cct String #156: com.bumptech.glide.integration.okhttp3.OkHttpGlideModule String #157: com.facebook.react.devsupport.DevSettingsActivity String #158: com.google.android.c2dm.intent.RECEIVE String #159: com.google.android.c2dm.permission.RECEIVE String #160: com.google.android.c2dm.permission.SEND String #161: com.google.android.datatransport.runtime.backends.TransportBackendDiscovery String #162: com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver String #163: com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService String #164: com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE String #165: com.google.android.gms.auth.api.signin.RevocationBoundService String #166: com.google.android.gms.auth.api.signin.internal.SignInHubActivity String #167: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION String #168: com.google.android.gms.common.api.GoogleApiActivity String #169: com.google.android.gms.measurement.AppMeasurementJobService String #170: com.google.android.gms.measurement.AppMeasurementReceiver String #171: com.google.android.gms.measurement.AppMeasurementService String #172: com.google.android.gms.permission.AD_ID String #173: com.google.android.gms.version String #174: com.google.android.play.core.assetpacks.AssetPackExtractionService String #175: com.google.android.play.core.common.PlayCoreDialogWrapperActivity String #176: com.google.android.play.core.missingsplits.PlayCoreMissingSplitsActivity String #177: com.google.firebase.INSTANCE_ID_EVENT String #178: com.google.firebase.MESSAGING_EVENT String #179: com.google.firebase.components.ComponentDiscoveryService String #180: com.google.firebase.components.ComponentRegistrar String #181: com.google.firebase.components:com.google.firebase.abt.component.AbtRegistrar String #182: com.google.firebase.components:com.google.firebase.analytics.connector.internal.AnalyticsConnectorRegistrar String #183: com.google.firebase.components:com.google.firebase.analytics.ktx.FirebaseAnalyticsKtxRegistrar String #184: com.google.firebase.components:com.google.firebase.crashlytics.CrashlyticsRegistrar String #185: com.google.firebase.components:com.google.firebase.crashlytics.ktx.FirebaseCrashlyticsKtxRegistrar String #186: com.google.firebase.components:com.google.firebase.crashlytics.ndk.CrashlyticsNdkRegistrar String #187: com.google.firebase.components:com.google.firebase.datatransport.TransportRegistrar String #188: com.google.firebase.components:com.google.firebase.iid.Registrar String #189: com.google.firebase.components:com.google.firebase.installations.FirebaseInstallationsRegistrar String #190: com.google.firebase.components:com.google.firebase.ktx.FirebaseCommonKtxRegistrar String #191: com.google.firebase.components:com.google.firebase.messaging.FirebaseMessagingRegistrar String #192: com.google.firebase.components:com.google.firebase.perf.FirebasePerfRegistrar String #193: com.google.firebase.components:com.google.firebase.remoteconfig.RemoteConfigRegistrar String #194: com.google.firebase.components:io.invertase.firebase.app.ReactNativeFirebaseAppRegistrar String #195: com.google.firebase.iid.FirebaseInstanceIdReceiver String #196: com.google.firebase.messaging.FirebaseMessagingService String #197: com.google.firebase.messaging.default_notification_channel_id String #198: com.google.firebase.messaging.default_notification_color String #199: com.google.firebase.perf.provider.FirebasePerfProvider String #200: com.google.firebase.provider.FirebaseInitProvider String #201: com.htc.intent.action.QUICKBOOT_POWERON String #202: com.iterable.iterableapi.IterableFirebaseMessagingService String #203: com.iterable.iterableapi.IterablePushActionReceiver String #204: com.iterable.iterableapi.IterableTrampolineActivity String #205: com.iterable.push.ACTION_PUSH_ACTION String #206: com.mycompanyapp.app.mycompanyappFCMListenerService String #207: com.mycompanyapp.app.MainActivity String #208: com.mycompanyapp.app.MainApplication String #209: com.mycompanyapp.app.qa String #210: com.mycompanyapp.app.qa.SentryInitProvider String #211: com.mycompanyapp.app.qa.SentryPerformanceProvider String #212: com.mycompanyapp.app.qa.androidx-startup String #213: com.mycompanyapp.app.qa.fileprovider String #214: com.mycompanyapp.app.qa.firebaseinitprovider String #215: com.mycompanyapp.app.qa.firebaseperfprovider String #216: com.mycompanyapp.app.qa.mono.embeddinator.AndroidRuntimeProvider.__mono_init__ String #217: com.mycompanyapp.app.qa.notifee-init-provider String #218: com.mycompanyapp.app.qa.reactnativefirebaseappinitprovider String #219: com.mycompanyapp.app.qa.reactnativefirebasecrashlyticsinitprovider String #220: com.reactnativecommunity.webview.RNCWebViewFileProvider String #221: com.wix.reactnativenotifications.core.ProxyService String #222: com.wix.reactnativenotifications.fcm.FcmInstanceIdListenerService String #223: com.wix.reactnativenotifications.fcm.FcmInstanceIdRefreshHandlerService String #224: com.zipow.videobox.CallInActivity String #225: com.zipow.videobox.ConfActivityNormal String #226: com.zipow.videobox.GreenRoomTransformActivity String #227: com.zipow.videobox.InMeetingSettingsActivity String #228: com.zipow.videobox.IntegrationActivity String #229: com.zipow.videobox.JoinByURLActivity String #230: com.zipow.videobox.JoinMeetingFailActivity String #231: com.zipow.videobox.MeetingEndMessageActivity String #232: com.zipow.videobox.PListActivity String #233: com.zipow.videobox.SimpleActivity String #234: com.zipow.videobox.SimpleInMeetingActivity String #235: com.zipow.videobox.ZmPollingActivity String #236: com.zipow.videobox.confapp.meeting.videoeffects.VideoEffectsActivity String #237: com.zipow.videobox.conference.ui.ZmFoldableConfActivity String #238: com.zipow.videobox.kubi.KubiService String #239: com.zipow.videobox.share.ScreenShareServiceForSDK String #240: data String #241: firebase_analytics_collection_deactivated String #242: firebase_analytics_collection_enabled String #243: firebase_crashlytics_collection_enabled String #244: firebase_messaging_auto_init_enabled String #245: firebase_performance_collection_deactivated String #246: firebase_performance_collection_enabled String #247: gnsdk.Native_gnsdk String #248: google_analytics_adid_collection_enabled String #249: google_analytics_automatic_screen_reporting_enabled String #250: google_analytics_default_allow_ad_personalization_signals String #251: google_analytics_ssaid_collection_enabled String #252: http String #253: http://schemas.android.com/apk/res/android String #254: https String #255: intent String #256: intent-filter String #257: io.invertase.firebase.app.ReactNativeFirebaseAppInitProvider String #258: io.invertase.firebase.crashlytics.ReactNativeFirebaseCrashlyticsInitProvider String #259: io.invertase.firebase.messaging.ReactNativeFirebaseMessagingHeadlessService String #260: io.invertase.firebase.messaging.ReactNativeFirebaseMessagingReceiver String #261: io.invertase.firebase.messaging.ReactNativeFirebaseMessagingService String #262: io.invertase.notifee.NotifeeInitProvider String #263: io.sentry.android.core.SentryInitProvider String #264: io.sentry.android.core.SentryPerformanceProvider String #265: io.sentry.auto-init String #266: mycompanyname String #267: mycompanyname.com String #268: listenmycompanyapp.com String #269: mailto String #270: manifest String #271: meta-data String #272: mono.embeddinator.AndroidRuntimeProvider String #273: mono.embeddinator.classname String #274: package String #275: platformBuildVersionCode String #276: platformBuildVersionName String #277: provider String #278: qa-web.mycompanyname.com String #279: queries String #280: receiver String #281: service String #282: sms String #283: smsto String #284: us.zoom.androidlib.app.ZMFileListActivity String #285: us.zoom.internal.helper.PrivacyDisclaimerActivity String #286: us.zoom.videomeetings.intent.action.CallMyPhone String #287: us.zoom.videomeetings.intent.action.JoinBeforeHost String #288: us.zoom.videomeetings.intent.action.MeetingInvite String #289: uses-feature String #290: uses-permission String #291: uses-sdk String #292: youtube.com 16:16:31.503 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/build-tools/33.0.0/aapt" dump xmlstrings "/bitrise/src/android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk" AndroidManifest.xml 16:16:31.524 detox[6662] i child-process:EXEC_SUCCESS String pool of 41 unique UTF-16 non-sorted strings, 41 entries and 0 styles using 2044 bytes: String #0: theme String #1: label String #2: name String #3: debuggable String #4: exported String #5: targetPackage String #6: handleProfiling String #7: functionalTest String #8: minSdkVersion String #9: targetSdkVersion String #10: compileSdkVersion String #11: compileSdkVersionCodename String #12: 13 String #13: Tests for com.mycompanyapp.app.qa String #14: action String #15: activity String #16: android String #17: android.intent.action.MAIN String #18: android.permission.REORDER_TASKS String #19: android.test.runner String #20: androidx.test.core.app.InstrumentationActivityInvoker$BootstrapActivity String #21: androidx.test.core.app.InstrumentationActivityInvoker$EmptyActivity String #22: androidx.test.core.app.InstrumentationActivityInvoker$EmptyFloatingActivity String #23: androidx.test.orchestrator String #24: androidx.test.runner.AndroidJUnitRunner String #25: androidx.test.services String #26: application String #27: com.google.android.apps.common.testing.services String #28: com.mycompanyapp.app.qa String #29: com.mycompanyapp.app.qa.test String #30: http://schemas.android.com/apk/res/android String #31: instrumentation String #32: intent-filter String #33: manifest String #34: package String #35: platformBuildVersionCode String #36: platformBuildVersionName String #37: queries String #38: uses-library String #39: uses-permission String #40: uses-sdk 16:16:31.526 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "rm -fr /data/local/tmp/detox" 16:16:31.562 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.564 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "mkdir -p /data/local/tmp/detox" 16:16:31.598 detox[6662] i child-process:EXEC_SUCCESS 16:16:31.600 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 push "/bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk" "/data/local/tmp/detox/Application.apk" 16:16:32.650 detox[6662] i child-process:EXEC_SUCCESS /bitrise/src/android/app/build/outputs/apk/qa/debug/app-qa-x86_64-debug.apk: 1 file pushed, 0 skipped. 173.3 MB/s (172857256 bytes in 0.951s) 16:16:32.687 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk 16:16:35.002 detox[6662] i child-process:SPAWN_STDOUT Success 16:16:35.008 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Application.apk exited with code #0 16:16:35.010 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 push "/bitrise/src/android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk" "/data/local/tmp/detox/Test.apk" 16:16:35.139 detox[6662] i child-process:EXEC_SUCCESS /bitrise/src/android/app/build/outputs/apk/androidTest/qa/debug/app-qa-debug-androidTest.apk: 1 file pushed, 0 skipped. 135.4 MB/s (5667105 bytes in 0.040s) 16:16:35.172 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk 16:16:35.687 detox[6662] i child-process:SPAWN_STDOUT Success 16:16:35.699 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell pm install -r -g -t /data/local/tmp/detox/Test.apk exited with code #0 16:16:35.702 detox[6662] E device installApp 16:16:35.703 detox[6662] B device selectApp args: ("default") 16:16:35.704 detox[6662] B device terminateApp args: () 16:16:35.705 detox[6662] B artifacts-manager onBeforeTerminateApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:35.706 detox[6662] E artifacts-manager onBeforeTerminateApp 16:16:35.706 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.mycompanyapp.app.qa" 16:16:35.915 detox[6662] i child-process:EXEC_SUCCESS 16:16:35.918 detox[6662] B artifacts-manager onTerminateApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:35.919 detox[6662] E artifacts-manager onTerminateApp 16:16:35.919 detox[6662] E device terminateApp 16:16:35.919 detox[6662] E device selectApp 16:16:35.920 detox[6662] E lifecycle set up environment 16:16:43.292 detox[6662] B lifecycle run the tests 16:16:43.292 detox[6662] B artifacts-manager onRunDescribeStart args: ({"name":"ROOT_DESCRIBE_BLOCK"}) 16:16:43.293 detox[6662] E artifacts-manager onRunDescribeStart 16:16:43.295 detox[6662] B lifecycle TEST 16:16:43.295 detox[6662] B artifacts-manager onRunDescribeStart args: ({"name":"TEST"}) 16:16:43.295 detox[6662] E artifacts-manager onRunDescribeStart 16:16:43.298 detox[6662] B lifecycle DO NOTHING TEST 16:16:43.299 detox[6662] B artifacts-manager onTestStart args: ({"title":"DO NOTHING TEST","fullName":"TEST DO NOTHING TEST","status":"running","invocations":1}) 16:16:43.300 detox[6662] i artifact:ARTIFACT_START starting ADBLogcatRecording 16:16:43.347 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -f /sdcard/161630301_0.log" 16:16:43.350 detox[6662] E artifacts-manager onTestStart 16:16:43.350 detox[6662] B lifecycle beforeEach 16:16:43.353 detox[6662] E lifecycle beforeEach 16:16:43.355 detox[6662] B lifecycle beforeEach 16:16:43.357 detox[6662] B device launchApp args: ({"newInstance":true}) 16:16:43.358 detox[6662] B device terminateApp args: ("com.mycompanyapp.app.qa") 16:16:43.359 detox[6662] B artifacts-manager onBeforeTerminateApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:43.359 detox[6662] E artifacts-manager onBeforeTerminateApp 16:16:43.360 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "am force-stop com.mycompanyapp.app.qa" 16:16:43.443 detox[6662] i child-process:EXEC_SUCCESS 16:16:43.446 detox[6662] B artifacts-manager onTerminateApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa"}) 16:16:43.447 detox[6662] E artifacts-manager onTerminateApp 16:16:43.447 detox[6662] E device terminateApp 16:16:43.448 detox[6662] B artifacts-manager onBeforeLaunchApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa","launchArgs":{"detoxServer":"ws://localhost:36351","detoxSessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a"}}) 16:16:43.449 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" 16:16:43.540 detox[6662] i child-process:EXEC_SUCCESS 04-04 16:16:42.000 16:16:43.543 detox[6662] E artifacts-manager onBeforeLaunchApp 16:16:43.544 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 reverse tcp:36351 tcp:36351 16:16:43.611 detox[6662] i child-process:EXEC_SUCCESS 36351 16:16:43.614 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "pm list instrumentation" 16:16:43.666 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell du /sdcard/161630301_0.log 16:16:43.735 detox[6662] i child-process:EXEC_SUCCESS instrumentation:com.mycompanyapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner (target=com.mycompanyapp.app.qa) 16:16:43.787 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:36351 -e detoxSessionId fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a -e debug false com.mycompanyapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner 16:16:43.790 detox[6662] i child-process:EXEC_SUCCESS 4 /sdcard/161630301_0.log 16:16:44.291 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "ps | grep \"com\.mycompanyapp\.app\.qa$\"" 16:16:44.433 detox[6662] i child-process:EXEC_SUCCESS u0_a145 6868 323 14353484 99012 0 0 R com.mycompanyapp.app.qa 16:16:44.437 detox[6662] B artifacts-manager onLaunchApp args: ({"deviceId":"emulator-5554","bundleId":"com.mycompanyapp.app.qa","launchArgs":{"detoxServer":"ws://localhost:36351","detoxSessionId":"fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a"},"pid":6868}) 16:16:44.438 detox[6662] i artifact:ARTIFACT_START starting ADBLogcatRecording 16:16:44.438 detox[6662] i artifact:ARTIFACT_STOP stopping ADBLogcatRecording 16:16:44.438 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" 16:16:44.513 detox[6662] i child-process:EXEC_SUCCESS 04-04 16:16:43.000 16:16:44.523 detox[6662] i child-process:SPAWN_KILL sending SIGINT to: /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell logcat -f /sdcard/161630301_0.log 16:16:44.527 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -f /sdcard/161630301_0.log" terminated with SIGINT 16:16:44.574 detox[6662] i child-process:SPAWN_CMD /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -T \"04-04 16:16:43.000\" --pid=6868 -f /sdcard/161630301_0.log" 16:16:44.576 detox[6662] E artifacts-manager onLaunchApp 16:16:44.876 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell du /sdcard/161630301_0.log 16:16:44.940 detox[6662] i child-process:EXEC_SUCCESS 8180 /sdcard/161630301_0.log 16:16:45.649 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_STATUS: class=com.mycompanyapp.app.DetoxTest INSTRUMENTATION_STATUS: current=1 INSTRUMENTATION_STATUS: id=AndroidJUnitRunner INSTRUMENTATION_STATUS: numtests=1 INSTRUMENTATION_STATUS: stream= com.mycompanyapp.app.DetoxTest: 16:16:45.652 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_STATUS: test=runDetoxTests INSTRUMENTATION_STATUS_CODE: 1 16:17:30.703 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_STATUS: class=com.mycompanyapp.app.DetoxTest INSTRUMENTATION_STATUS: current=1 INSTRUMENTATION_STATUS: id=AndroidJUnitRunner INSTRUMENTATION_STATUS: numtests=1 INSTRUMENTATION_STATUS: stack=java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) INSTRUMENTATION_STATUS: stream= Error in runDetoxTests(com.mycompanyapp.app.DetoxTest): java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) INSTRUMENTATION_STATUS: test=runDetoxTests INSTRUMENTATION_STATUS_CODE: -2 16:17:32.792 detox[6662] i child-process:SPAWN_STDOUT INSTRUMENTATION_RESULT: stream= Time: 46.644 There was 1 failure: 1) runDetoxTests(com.mycompanyapp.app.DetoxTest) java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) at java.lang.reflect.Method.invoke(Native Method) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at androidx.test.rule.ActivityTestRule$ActivityStatement.evaluate(ActivityTestRule.java:549) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at androidx.test.ext.junit.runners.AndroidJUnit4.run(AndroidJUnit4.java:162) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at org.junit.runner.JUnitCore.run(JUnitCore.java:115) at androidx.test.internal.runner.TestExecutor.execute(TestExecutor.java:56) at androidx.test.runner.AndroidJUnitRunner.onStart(AndroidJUnitRunner.java:444) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:2248) FAILURES!!! Tests run: 1, Failures: 1 INSTRUMENTATION_CODE: -1 16:17:32.937 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:36351 -e detoxSessionId fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a -e debug false com.mycompanyapp.app.qa.test/androidx.test.runner.AndroidJUnitRunner exited with code #0 16:17:32.942 detox[6662] i device An error occurred while waiting for the app to become ready. Waiting for disconnection... error: Failed to run application on the device HINT: Most likely, your main activity has crashed prematurely. Native stacktrace dump: java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) 16:17:32.942 detox[6662] i device The app disconnected. 16:17:32.943 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 reverse --remove tcp:36351 16:17:32.999 detox[6662] E device launchApp error: Failed to run application on the device HINT: Most likely, your main activity has crashed prematurely. Native stacktrace dump: java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) 16:17:33.001 detox[6662] B artifacts-manager onHookFailure args: ({"error":{"name":"DetoxRuntimeError"},"hook":"beforeEach"}) 16:17:33.001 detox[6662] E artifacts-manager onHookFailure 16:17:33.001 detox[6662] E lifecycle beforeEach error: Failed to run application on the device HINT: Most likely, your main activity has crashed prematurely. Native stacktrace dump: java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) 16:17:33.003 detox[6662] B lifecycle test_fn 16:17:33.006 detox[6662] B artifacts-manager onTestDone args: ({"title":"DO NOTHING TEST","fullName":"TEST DO NOTHING TEST","status":"failed","invocations":1,"timedOut":false}) 16:17:33.007 detox[6662] i artifact:ARTIFACT_STOP stopping ADBLogcatRecording 16:17:33.007 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "date +\"%m-%d %T.000\"" 16:17:33.052 detox[6662] i child-process:EXEC_SUCCESS 16:17:33.082 detox[6662] i child-process:EXEC_SUCCESS 04-04 16:17:32.000 16:17:33.086 detox[6662] i child-process:SPAWN_KILL sending SIGINT to: /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell logcat -T "04-04 16:16:43.000" --pid=6868 -f /sdcard/161630301_0.log 16:17:33.090 detox[6662] i child-process:SPAWN_END /opt/android-sdk-linux/platform-tools/adb -s emulator-5554 shell "logcat -T \"04-04 16:16:43.000\" --pid=6868 -f /sdcard/161630301_0.log" terminated with SIGINT 16:17:33.094 detox[6662] E artifacts-manager onTestDone 16:17:33.095 detox[6662] E lifecycle test_fn 16:17:33.099 detox[6662] B artifacts-manager onRunDescribeFinish args: ({"name":"TEST"}) 16:17:33.099 detox[6662] E artifacts-manager onRunDescribeFinish 16:17:33.099 detox[6662] E lifecycle DO NOTHING TEST 16:17:33.100 detox[6662] B artifacts-manager onRunDescribeFinish args: ({"name":"ROOT_DESCRIBE_BLOCK"}) 16:17:33.101 detox[6662] E artifacts-manager onRunDescribeFinish 16:17:33.101 detox[6662] E lifecycle TEST 16:17:33.117 detox[6662] B lifecycle tear down environment 16:17:33.119 detox[6662] B artifacts-manager onBeforeCleanup args: () 16:17:33.123 detox[6662] i artifact:ARTIFACT_SAVE saving ADBLogcatRecording to: /bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/āœ— TEST DO NOTHING TEST/device.log 16:17:33.124 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 pull "/sdcard/161630301_0.log" "/bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/āœ— TEST DO NOTHING TEST/device.log" 16:17:33.231 detox[6662] i child-process:EXEC_SUCCESS /sdcard/161630301_0.log: 1 file pulled, 0 skipped. 129.9 MB/s (8478619 bytes in 0.062s) 16:17:33.233 detox[6662] i child-process:EXEC_CMD "/opt/android-sdk-linux/platform-tools/adb" -s emulator-5554 shell "rm \"/sdcard/161630301_0.log\"" 16:17:33.316 detox[6662] i child-process:EXEC_SUCCESS 16:17:33.329 detox[6662] i artifact:ARTIFACT_SAVE saving FileArtifact to: /bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/detox_pid_6662.json.log { append: true } 16:17:33.331 detox[6662] i artifact:ARTIFACT_SAVE saving FileArtifact to: /bitrise/deploy/android.emu.generic.2023-04-04 16-16-25Z/detox_pid_6662.log { append: true } 16:17:33.331 detox[6662] E artifacts-manager onBeforeCleanup 16:17:33.332 detox[6662] i ws-client:APP_UNREACHABLE Detox can't seem to connect to the test app(s)! HINT: The test app might have crashed prematurely, or has had trouble setting up the connection. Refer to our troubleshooting guide, for full details: https://wix.github.io/Detox/docs/troubleshooting/running-tests#tests-execution-hangs 16:17:33.340 detox[6650] i ws-server tester exited session fe0366dd-3b3f-d8d8-6ea6-a1fa039d510a 16:17:33.341 detox[6650] E ws-server@37866 connection :36351<->:37866 16:17:33.340 detox[6662] B device free args: ({"adbName":"emulator-5554"}, {"shutdown":false}) 16:17:33.350 detox[6662] E device free 16:17:33.351 detox[6662] E lifecycle tear down environment 16:17:33.351 detox[6662] E lifecycle run the tests FAIL e2e/Regression/test.e2e.ts (63.13 s) TEST āœ• DO NOTHING TEST (49707 ms) ā— TEST ā€ŗ DO NOTHING TEST Failed to run application on the device HINT: Most likely, your main activity has crashed prematurely. Native stacktrace dump: java.lang.RuntimeException: Could not launch intent Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=com.mycompanyapp.app.qa/com.mycompanyapp.app.MainActivity (has extras) } within 45000 milliseconds. Perhaps the main thread has not gone idle within a reasonable amount of time? There could be an animation or something constantly repainting the screen. Or the activity is doing network calls on creation? See the threaddump logs. For your reference the last time the event queue was idle before your activity launch request was 1680625004909 and now the last time the queue went idle was: 1680625004909. If these numbers are the same your activity might be hogging the event queue. at androidx.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:509) at androidx.test.rule.ActivityTestRule.launchActivity(ActivityTestRule.java:376) at com.wix.detox.Detox.runTests(Detox.java:140) at com.wix.detox.Detox.runTests(Detox.java:103) at com.mycompanyapp.app.DetoxTest.runDetoxTests(DetoxTest.java:34) 4 | describe('TEST', () => { 5 | beforeEach(async () => { > 6 | await device.launchApp({ newInstance: true }); | ^ 7 | await verifyText('Sign In', 60000); 8 | }); 9 | at Object. (e2e/Regression/test.e2e.ts:6:18) 16:17:33.364 detox[6662] i ipc dispatching event to primary-6650 /tmp/detox.primary-6650 : reportTestResults , { testResults: [ { success: false, testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts', testExecError: undefined, isPermanentFailure: false } ] } 16:17:33.366 detox[6650] i ipc received event of : reportTestResults { testResults: [ { success: false, testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts', isPermanentFailure: false } ] } 16:17:33.367 detox[6650] i ipc dispatching event to socket : reportTestResultsDone { testResults: [ { success: false, testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts', isPermanentFailure: false } ] } 16:17:33.367 detox[6650] i ipc broadcasting event to all known sockets listening to /tmp/detox.primary-6650 : sessionStateUpdate { testResults: [ { success: false, testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts', isPermanentFailure: false } ] } 16:17:33.368 detox[6662] i ipc ## received events ## 16:17:33.371 detox[6662] i ipc detected event reportTestResultsDone { testResults: [ { success: false, testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts', isPermanentFailure: false } ] } 16:17:33.390 detox[6662] i ipc ## received events ## 16:17:33.392 detox[6662] i ipc detected event sessionStateUpdate { testResults: [ { success: false, testFilePath: '/bitrise/src/e2e/Regression/test.e2e.ts', isPermanentFailure: false } ] } 16:17:33.400 detox[6650] i ipc socket disconnected secondary-6662 16:17:33.403 detox[6662] i ipc connection closed primary-6650 /tmp/detox.primary-6650 0 tries remaining of 0 16:17:33.406 detox[6662] i ipc secondary-6662 exceeded connection rety amount of or stopRetrying flag set. 16:17:33.567 detox[6650] E lifecycle Command failed with exit code = 1: jest --config e2e/jest.config.ts --detectOpenHandles e2e/Regression/test.e2e.ts 16:17:33.569 detox[6650] i ws-server Detox server has been closed gracefully 16:17:33.570 detox[6650] E lifecycle node_modules/.bin/detox test --configuration android.emu.Pixel4.android_12.qa.debug -d -l log.txt --configuration android.emu.generic e2e/Regression/test.e2e.ts --start --record-logs all --loglevel trace --detectOpenHandles --debug-synchronization 500 --artifacts-location /bitrise/deploy error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. exit status 1 ```

It seems like the issue may relate to some kind of 45000 ms timeout in the code.

I see this in node_modules/detox/src/devices/common/drivers/android/exec/ADB.js:

const INSTALL_TIMEOUT = 45000; // TODO Double check 45s makes sense

So it seems like there was some debate about whether this is right.

I used patch-package to change this to 300000 and it still times out, claiming the 45000 timeout!!

The patch:

``` diff --git a/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js b/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js index cd92a6c..1be2cc2 100644 --- a/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js +++ b/node_modules/detox/src/devices/common/drivers/android/exec/ADB.js @@ -8,7 +8,7 @@ const { escape } = require('../../../../../utils/pipeCommands'); const DeviceHandle = require('../tools/DeviceHandle'); const EmulatorHandle = require('../tools/EmulatorHandle'); -const INSTALL_TIMEOUT = 45000; // TODO Double check 45s makes sense +const INSTALL_TIMEOUT = 300000; // TODO Double check 45s makes sense class ADB { constructor() { ```
MuckT commented 1 year ago

@owens-ben & @alyssaw90. I've previously had some similar issues with a different provider. Wrapping the launch app command in a retry util seemed to help, but might not in your case.

akashGautam7009 commented 1 year ago

@noomorph Any solution for this issue?

akashGautam7009 commented 1 year ago

@owens-ben did you get unblocked now?

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe the issue is still relevant, please test on the latest Detox and report back.

Thank you for your contributions!

For more information on bots in this repository, read this discussion.

stale[bot] commented 1 year ago

The issue has been closed for inactivity.

owens-ben commented 10 months ago

Still an issue.

noomorph commented 10 months ago

Could you share device logs and video recording from your device? Just to make sure, the app runs locally on emulators well enough, right?

owens-ben commented 10 months ago

@noomorph yes, it works on android emulators as well as iOS emulators (including in bitrise).

There essentially are no logs beyond what's been shared. And we can't share a video as the Linux machines do not support vnc.

zhouzh1 commented 9 months ago

Hey @owens-ben , I also encountered this issue and it took me much time, finally I found it's because of the adb communication is very slow, which caused the apk can't be installed on the emulator. I executed the following commands to restart the adb server and the issue went away.

adb kill-server
adb start-server

Maybe it's also appropriate for your and other's situation. Good luck. :)

stale[bot] commented 7 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe the issue is still relevant, please test on the latest Detox and report back.

Thank you for your contributions!

For more information on bots in this repository, read this discussion.