Detox: Error performing 'single click' view 'Animations or transitions are enabled on the target device.

Description When tapping on a simple element I get “Error performing single click”. On the screen, it seems like the actions are being activated before the actual tests.

await element(by.text('Sign in anonymously')).tap();

Versions

Detox: 14.5.0 React Native: 0.60.5 Node: 10.16.3 Environment type: android.attached

To Reproduce

  1. Set up detox for android
  2. Have a login button
  3. Use await element(by.text('Sign in anonymously')).tap();
  4. Test fails with error: Error performing ‘single click’ view 'Animations or transitions are enabled on the target device.

I’ve disabled animation from my app.

Expected behavior

I should be able to go to profile page when i sign in anonymously.

Device and Verbose Detox Logs

detox[6182] INFO:  [test.js] node_modules/.bin/mocha --opts e2e/mocha.opts --configuration android.emu.debug --loglevel trace --grep :ios: --invert --artifacts-location "artifacts/android.emu.debug.2019-10-22 15-39-13Z" "e2e"


detox[6190] INFO:  [DetoxServer.js] server listening on localhost:41855...
detox[6190] DEBUG: [AsyncWebSocket.js/WEBSOCKET_OPEN] opened web socket to: ws://localhost:41855
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"login","params":{"sessionId":"c48c3593-3d72-0067-abc3-58569314a7a0","role":"tester"},"messageId":0}
detox[6190] DEBUG: [DetoxServer.js/LOGIN] role=tester, sessionId=c48c3593-3d72-0067-abc3-58569314a7a0
detox[6190] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=tester, sessionId=c48c3593-3d72-0067-abc3-58569314a7a0
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"loginSuccess","params":{"sessionId":"c48c3593-3d72-0067-abc3-58569314a7a0","role":"tester"},"messageId":0}
 
detox[6190] DEBUG: [exec.js/EXEC_CMD, #0] /home/felix/Android/Sdk/platform-tools/adb  devices
detox[6190] DEBUG: [exec.js/EXEC_SUCCESS, #0] List of devices attached
FA6950301847	device


detox[6190] DEBUG: [exec.js/EXEC_CMD, #1] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "getprop ro.build.version.sdk"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #1] 29

detox[6190] DEBUG: [exec.js/EXEC_CMD, #2] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "dumpsys power | grep \"^[ ]*m[UW].*=\""
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #2]   mWakefulness=Awake
  mWakefulnessChanging=false
  mWakeLockSummary=0x23
  mUserActivitySummary=0x1
  mWakeUpWhenPluggedOrUnpluggedConfig=true
  mWakeUpWhenPluggedOrUnpluggedInTheaterModeConfig=false
  mUserActivityTimeoutOverrideFromWindowManager=-1
  mUserInactiveOverrideFromWindowManager=false

detox[6190] DEBUG: [exec.js/EXEC_CMD, #3] /home/felix/Android/Sdk/build-tools/29.0.2/aapt dump badging "/home/felix/banananow/android/app/build/outputs/apk/debug/app-debug.apk" | grep -e "package: name="
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #3] package: name='com.banananow' versionCode='1' versionName='1.0' compileSdkVersion='28' compileSdkVersionCodename='9'

detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeUninstallApp({ deviceId: 'FA6950301847', bundleId: 'com.banananow' })
detox[6190] DEBUG: [exec.js/EXEC_CMD, #4] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "pm list packages com.banananow"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #4] package:com.banananow.test
package:com.banananow

detox[6190] DEBUG: [exec.js/EXEC_CMD, #5] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 uninstall com.banananow
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #5] Success

detox[6190] DEBUG: [exec.js/EXEC_CMD, #6] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "pm list packages com.banananow.test"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #6] package:com.banananow.test

detox[6190] DEBUG: [exec.js/EXEC_CMD, #7] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 uninstall com.banananow.test
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #7] Success

detox[6190] DEBUG: [exec.js/EXEC_CMD, #8] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 install -r -g -t "/home/felix/banananow/android/app/build/outputs/apk/debug/app-debug.apk"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #8] Performing Streamed Install
Success

detox[6190] DEBUG: [exec.js/EXEC_CMD, #9] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 install -r -g -t "/home/felix/banananow/android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #9] Performing Streamed Install
Success

detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeTerminateApp({ deviceId: 'FA6950301847', bundleId: 'com.banananow' })
detox[6190] DEBUG: [exec.js/EXEC_CMD, #10] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "am force-stop com.banananow"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #10] 
detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeLaunchApp({ deviceId: 'FA6950301847',
  bundleId: 'com.banananow',
  launchArgs:
   { detoxServer: 'ws://localhost:41855',
     detoxSessionId: 'c48c3593-3d72-0067-abc3-58569314a7a0' } })
detox[6190] DEBUG: [exec.js/EXEC_CMD, #11] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "date +\"%m-%d %T.000\""
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #11] 10-22 17:39:24.000

detox[6190] DEBUG: [exec.js/EXEC_CMD, #12] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 reverse tcp:41855 tcp:41855
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #12] 41855

detox[6190] DEBUG: [exec.js/EXEC_CMD, #13] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "pm list instrumentation"
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #13] instrumentation:com.banananow.test/androidx.test.runner.AndroidJUnitRunner (target=com.banananow)

detox[6190] DEBUG: [exec.js/SPAWN_CMD, #14] [pid=6379] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell am instrument -w -r -e detoxServer ws://localhost:41855 -e detoxSessionId c48c3593-3d72-0067-abc3-58569314a7a0 -e debug ZmFsc2U= com.banananow.test/androidx.test.runner.AndroidJUnitRunner
detox[6190] DEBUG: [exec.js/EXEC_CMD, #15] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell "ps | grep \"com\.banananow$\""
detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #15] u0_a373      10682 22585 5668016  72016                     0 R com.banananow

detox[10682] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onLaunchApp({ deviceId: 'FA6950301847',
  bundleId: 'com.banananow',
  launchArgs:
   { detoxServer: 'ws://localhost:41855',
     detoxSessionId: 'c48c3593-3d72-0067-abc3-58569314a7a0' },
  pid: 10682 })
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"isReady","params":{},"messageId":-1000}
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=tester action=isReady (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [exec.js/SPAWN_STDOUT, #14] INSTRUMENTATION_STATUS: class=com.banananow.DetoxTest
INSTRUMENTATION_STATUS: current=1
INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
INSTRUMENTATION_STATUS: numtests=1
INSTRUMENTATION_STATUS: stream=
com.banananow.DetoxTest:
INSTRUMENTATION_STATUS: test=runDetoxTests
INSTRUMENTATION_STATUS_CODE: 1

detox[6190] DEBUG: [DetoxServer.js/LOGIN] role=testee, sessionId=c48c3593-3d72-0067-abc3-58569314a7a0
detox[6190] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=testee, sessionId=c48c3593-3d72-0067-abc3-58569314a7a0
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"messageId":-1000,"type":"ready","params":{}}
 
detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeAll()
  Example
detox[6190] TRACE: [Detox.js/DETOX_BEFORE_EACH] running test: "Example should show hello screen after tap"
detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onBeforeEach({ title: 'should show hello screen after tap',
  fullName: 'Example should show hello screen after tap',
  status: 'running' })
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"reactNativeReload","params":{},"messageId":-1000}
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=tester action=reactNativeReload (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=testee action=ready (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"messageId":-1000,"type":"ready","params":{}}
 
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"invoke","params":{"target":{"type":"Class","value":"com.wix.detox.espresso.EspressoDetox"},"method":"perform","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"androidx.test.espresso.Espresso"},"method":"onView","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxMatcher"},"method":"matcherForText","args":["Sign in anonymously"]}}]}},{"type":"Invocation","value":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxViewActions"},"method":"click","args":[]}}]},"messageId":1}
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=tester action=invoke (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=testee action=error (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"messageId":1,"type":"error","params":{"error":"Error performing 'single click - At Coordinates: 540, 1484 and precision: 16, 16' on view 'Animations or transitions are enabled on the target device.\nFor more info check: http://goo.gl/qVu1yV\n\n(with text: is \"Sign in anonymously\" and view has effective visibility=VISIBLE)'."}}
 
    1) should show hello screen after tap
detox[6190] TRACE: [Detox.js/DETOX_AFTER_EACH] failed test: "Example should show hello screen after tap"
detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onAfterEach({ title: 'should show hello screen after tap',
  fullName: 'Example should show hello screen after tap',
  status: 'failed',
  timedOut: false })

detox[6190] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onAfterAll()
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"cleanup","params":{"stopRunner":false},"messageId":-49642}
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=tester action=cleanup (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [DetoxServer.js/MESSAGE] role=testee action=cleanupDone (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"messageId":-49642,"type":"cleanupDone","params":{}}
 
detox[6190] DEBUG: [exec.js/KILL] sending SIGINT to [pid = 6379]: /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell am instrument -w -r -e detoxServer ws://localhost:41855 -e detoxSessionId c48c3593-3d72-0067-abc3-58569314a7a0 -e debug ZmFsc2U= com.banananow.test/androidx.test.runner.AndroidJUnitRunner
detox[6190] DEBUG: [DetoxServer.js/DISCONNECT] role=tester, sessionId=c48c3593-3d72-0067-abc3-58569314a7a0
detox[6190] DEBUG: [exec.js/KILL] sending SIGINT to [pid = 6379]: /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell am instrument -w -r -e detoxServer ws://localhost:41855 -e detoxSessionId c48c3593-3d72-0067-abc3-58569314a7a0 -e debug ZmFsc2U= com.banananow.test/androidx.test.runner.AndroidJUnitRunner
detox[6190] TRACE: [exec.js/SPAWN_END, #14] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 shell am instrument -w -r -e detoxServer ws://localhost:41855 -e detoxSessionId c48c3593-3d72-0067-abc3-58569314a7a0 -e debug ZmFsc2U= com.banananow.test/androidx.test.runner.AndroidJUnitRunner terminated with SIGINT
detox[6190] DEBUG: [exec.js/EXEC_CMD, #16] /home/felix/Android/Sdk/platform-tools/adb -s FA6950301847 reverse --remove tcp:41855
detox[6190] DEBUG: [DetoxServer.js/DISCONNECT] role=testee, sessionId=c48c3593-3d72-0067-abc3-58569314a7a0
detox[6190] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=tester not connected, cannot fw action (sessionId=c48c3593-3d72-0067-abc3-58569314a7a0)
detox[6190] DEBUG: [DetoxServer.js/WS_CLOSE] Detox server connections terminated gracefully

  0 passing (47s)
  1 failing

  1) Example
       should show hello screen after tap:
     Error: Error performing 'single click - At Coordinates: 540, 1484 and precision: 16, 16' on view 'Animations or transitions are enabled on the target device.
For more info check: http://goo.gl/qVu1yV

(with text: is "Sign in anonymously" and view has effective visibility=VISIBLE)'.
      at Client.execute (node_modules/detox/src/client/Client.js:92:28)
      at InvocationManager.execute (node_modules/detox/src/invoke.js:11:39)
      at ActionInteraction.execute (node_modules/detox/src/android/expect.js:128:35)
      at Element.tap (node_modules/detox/src/android/expect.js:220:88)
      at Context.it (e2e/firstTest.spec.js:11:51)
      at process._tickCallback (internal/process/next_tick.js:68:7)



detox[6190] TRACE: [exec.js/EXEC_SUCCESS, #16] 
detox[6182] ERROR: [cli.js] Error: Command failed: node_modules/.bin/mocha --opts e2e/mocha.opts --configuration android.emu.debug --loglevel trace --grep :ios: --invert --artifacts-location "artifacts/android.emu.debug.2019-10-22 15-39-13Z" "e2e"

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 18 (1 by maintainers)

Most upvoted comments

@Grohden this is insanely bizarre, I don’t understand how these 2 points can account for anything

@Grohden Detox sets the tap at the view’s center, which is probably hidden in your case. Unfortunately, we haven’t provided a way to manipulate that, just yet.