detox 19.9.2 → 19.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. package/Detox-android/com/wix/detox/{19.9.2/detox-19.9.2-javadoc.jar → 19.10.0/detox-19.10.0-javadoc.jar} +0 -0
  2. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.md5 +1 -0
  3. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.sha1 +1 -0
  4. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.sha256 +1 -0
  5. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.sha512 +1 -0
  6. package/Detox-android/com/wix/detox/{19.9.2/detox-19.9.2-sources.jar → 19.10.0/detox-19.10.0-sources.jar} +0 -0
  7. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.md5 +1 -0
  8. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.sha1 +1 -0
  9. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.sha256 +1 -0
  10. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.sha512 +1 -0
  11. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar +0 -0
  12. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.md5 +1 -0
  13. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.sha1 +1 -0
  14. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.sha256 +1 -0
  15. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.sha512 +1 -0
  16. package/Detox-android/com/wix/detox/{19.9.2/detox-19.9.2.pom → 19.10.0/detox-19.10.0.pom} +1 -1
  17. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.md5 +1 -0
  18. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.sha1 +1 -0
  19. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.sha256 +1 -0
  20. package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.sha512 +1 -0
  21. package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
  22. package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
  23. package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
  24. package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
  25. package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
  26. package/Detox-ios-src.tbz +0 -0
  27. package/Detox-ios.tbz +0 -0
  28. package/android/detox/proguard-rules-app.pro +4 -0
  29. package/android/detox/src/full/java/com/wix/detox/DetoxCrashHandler.kt +1 -1
  30. package/android/detox/src/full/java/com/wix/detox/TestEngineFacade.kt +1 -1
  31. package/package.json +2 -2
  32. package/src/client/Client.js +18 -1
  33. package/src/devices/common/drivers/android/tools/MonitoredInstrumentation.js +1 -1
  34. package/src/devices/runtime/drivers/android/AndroidDriver.js +9 -1
  35. package/src/utils/errorUtils.js +4 -3
  36. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.md5 +0 -1
  37. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.sha1 +0 -1
  38. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.sha256 +0 -1
  39. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.sha512 +0 -1
  40. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.md5 +0 -1
  41. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.sha1 +0 -1
  42. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.sha256 +0 -1
  43. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.sha512 +0 -1
  44. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar +0 -0
  45. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.md5 +0 -1
  46. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.sha1 +0 -1
  47. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.sha256 +0 -1
  48. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.sha512 +0 -1
  49. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.md5 +0 -1
  50. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.sha1 +0 -1
  51. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.sha256 +0 -1
  52. package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.sha512 +0 -1
@@ -0,0 +1 @@
1
+ 246e031bb8a10b4897c2f60868e38a1e
@@ -0,0 +1 @@
1
+ d6c2ec03684c08bf5d408feac4b3860de5a44d4b
@@ -0,0 +1 @@
1
+ 55d164318e5c579b960d8db06251807668ea5efa1d51c8bf233d1caa6bd46239
@@ -0,0 +1 @@
1
+ 0b02e740c3e40a3235be505b9dcb4918f26ede99694cbaf320d7234373918b418a22437232b39b78206a813593f725f5536471640401016e35fdb76b67ebac70
@@ -0,0 +1 @@
1
+ e52a3f44d369bd3f21cb7bb83d99dc33
@@ -0,0 +1 @@
1
+ 9928c16835043133616631d4f76aad949aad2218
@@ -0,0 +1 @@
1
+ 0b350d5a918515b94a07cb7ff736e3613e6ca5debfac16c60c7eb41d4625f26d
@@ -0,0 +1 @@
1
+ 767e6cfec265b747dc3787d820abd9cf5713b40ce64420479348621faabb2f0f02f2cc83bf073d98ed5bc090e1abf9cabf86469b2bb3413fc413fe3764c90ffb
@@ -0,0 +1 @@
1
+ af4e914eb67e1dd955cc5acd07d02340
@@ -0,0 +1 @@
1
+ e16c929ebd269ce9e0e9c4d0e06e46601ecfa6a1
@@ -0,0 +1 @@
1
+ 1fede18c4a72541d428f69b6dab9c6a414f8b1a3b8a7f525b62b184cf75000ad
@@ -0,0 +1 @@
1
+ f8103e2667ffe0c25f91afb1d2c12fc95b608247922488688ab78326806c2b60c1d5c602419e9c1218730cb1f563f60eaee07eddb1492b02e47f0b73a18cd92c
@@ -3,7 +3,7 @@
3
3
  <modelVersion>4.0.0</modelVersion>
4
4
  <groupId>com.wix</groupId>
5
5
  <artifactId>detox</artifactId>
6
- <version>19.9.2</version>
6
+ <version>19.10.0</version>
7
7
  <packaging>aar</packaging>
8
8
  <name>Detox</name>
9
9
  <description>Gray box end-to-end testing and automation library for mobile apps</description>
@@ -0,0 +1 @@
1
+ f3c3be39af0c3904f8578ef066b1fa6b
@@ -0,0 +1 @@
1
+ 75451bd4392a3307643bd3f92effb6c1ed1736de
@@ -0,0 +1 @@
1
+ e0a84ddf21ad608af9fd47b42b50e9e1c816e06bfe210225b4255ab365b6d202
@@ -0,0 +1 @@
1
+ 1b14fb1d91dbe7b4c2be24285dc3840d8f7631f86d4c79056fd4cf74975c33ec8e19266da364dc7b57ca486cd6dd7eb472235801f1daa250ecf37421af3d79fd
@@ -3,11 +3,11 @@
3
3
  <groupId>com.wix</groupId>
4
4
  <artifactId>detox</artifactId>
5
5
  <versioning>
6
- <latest>19.9.2</latest>
7
- <release>19.9.2</release>
6
+ <latest>19.10.0</latest>
7
+ <release>19.10.0</release>
8
8
  <versions>
9
- <version>19.9.2</version>
9
+ <version>19.10.0</version>
10
10
  </versions>
11
- <lastUpdated>20220814171948</lastUpdated>
11
+ <lastUpdated>20220818130424</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 599c8ee4cd5b6c0a76e4e6587929371c
1
+ 38d31df24edd01e6923c2e3670359d6e
@@ -1 +1 @@
1
- c933b6a10c3326641f2f4f67d105d6c25546092f
1
+ b4a03bfc096cae92a22fabe9ae811709c09c4b92
@@ -1 +1 @@
1
- 2ef5136da194e277ca17be542f43edcc8b6eb5a36cf6359dbb7fa2a669721cd6
1
+ 504204669f5f3377f1c42725d55e8dcf742dc0c38318209978991dfe96abf831
@@ -1 +1 @@
1
- 738f2da22dc48e931699662eb116096506ad79b14583a9323b61ff369a19dec46f07033a5752593b20eb6d1123e3fcf35c9201cc74c4c2f0d9207084f7db5f4f
1
+ a36b581589d46796551b3fccad8a460b3ef5e5ee40ba374a45b7b7801520d28d2fd14308233cd33ba93943cf1600f7f7f81d032166b1ada5bdd0b4450a139ec1
package/Detox-ios-src.tbz CHANGED
Binary file
package/Detox-ios.tbz CHANGED
Binary file
@@ -6,6 +6,10 @@
6
6
  -keep class com.facebook.react.ReactNativeHost { *; }
7
7
  -keep class com.facebook.react.ReactInstanceManager { *; }
8
8
  -keep class com.facebook.react.ReactInstanceManager** { *; }
9
+ -keep class com.facebook.react.ReactInstanceEventListener { *; }
10
+
11
+ -keep class com.facebook.react.views.slider.ReactSlider { *; }
12
+ -keep class com.reactnativecommunity.slider.ReactSlider { *; }
9
13
  -keep class com.reactnativecommunity.asyncstorage.** { *; }
10
14
 
11
15
  -keep class kotlin.jvm.** { *; }
@@ -6,7 +6,7 @@ import com.wix.detox.adapters.server.OutboundServerAdapter
6
6
  class DetoxCrashHandler(private val outboundServerAdapter: OutboundServerAdapter) {
7
7
  fun attach() {
8
8
  Thread.setDefaultUncaughtExceptionHandler { thread, exception ->
9
- Log.e(LOG_TAG, "Crash detected!!! thread=${thread.name} (${thread.id})")
9
+ Log.e(LOG_TAG, "Crash detected!!! thread=${thread.name} (${thread.id})", exception)
10
10
 
11
11
  val crashInfo = mapOf("errorDetails" to "@Thread ${thread.name}(${thread.id}):\n${Log.getStackTraceString(exception)}\nCheck device logs for full details!")
12
12
  outboundServerAdapter.sendMessage(ACTION_NAME, crashInfo, MESSAGE_ID)
@@ -10,7 +10,7 @@ import com.wix.detox.reactnative.ReactNativeExtension
10
10
 
11
11
  class TestEngineFacade {
12
12
  fun awaitIdle(): Unit? = Espresso.onIdle() {
13
- Log.i(LOG_TAG, "Wait is over: app is now idle!")
13
+ Log.i(LOG_TAG, "Wait is over: App is now idle!")
14
14
  null
15
15
  }
16
16
  fun syncIdle() = UiAutomatorHelper.espressoSync() // TODO Check whether this can be replaced with #awaitIdle()
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "detox",
3
3
  "description": "E2E tests and automation for mobile",
4
- "version": "19.9.2",
4
+ "version": "19.10.0",
5
5
  "bin": {
6
6
  "detox": "local-cli/cli.js"
7
7
  },
@@ -177,5 +177,5 @@
177
177
  }
178
178
  }
179
179
  },
180
- "gitHead": "4427cebefaee0119ec757e18238be088f6c8ed99"
180
+ "gitHead": "6468b38c68bcac4c283ef005e9817f1d7ba8161b"
181
181
  }
@@ -34,6 +34,7 @@ class Client {
34
34
  this._slowInvocationStatusHandle = null;
35
35
  this._whenAppIsConnected = this._invalidState('before connecting to the app');
36
36
  this._whenAppIsReady = this._whenAppIsConnected;
37
+ this._whenAppDisconnected = Deferred.resolved();
37
38
  this._isCleaningUp = false;
38
39
  this._pendingAppCrash = null;
39
40
  this._appTerminationHandle = null;
@@ -201,6 +202,11 @@ class Client {
201
202
  }
202
203
  }
203
204
 
205
+ /** @async */
206
+ waitUntilDisconnected() {
207
+ return this._whenAppDisconnected.promise;
208
+ }
209
+
204
210
  async waitForBackground() {
205
211
  await this.sendAction(new actions.WaitForBackground());
206
212
  }
@@ -301,6 +307,8 @@ class Client {
301
307
  } else {
302
308
  this._whenAppIsConnected = Deferred.resolved();
303
309
  }
310
+
311
+ this._whenAppDisconnected = new Deferred();
304
312
  }
305
313
 
306
314
  _onAppReady() {
@@ -320,6 +328,10 @@ class Client {
320
328
  }
321
329
 
322
330
  _onBeforeAppCrash({ params }) {
331
+ if (this._pendingAppCrash) {
332
+ return;
333
+ }
334
+
323
335
  this._pendingAppCrash = new DetoxRuntimeError({
324
336
  message: 'The app has crashed, see the details below:',
325
337
  debugInfo: params.errorDetails,
@@ -338,10 +350,15 @@ class Client {
338
350
  this._whenAppIsReady = this._whenAppIsConnected;
339
351
 
340
352
  if (this._pendingAppCrash) {
353
+ this._whenAppDisconnected.reject(this._pendingAppCrash);
341
354
  this._asyncWebSocket.rejectAll(this._pendingAppCrash);
342
355
  this._pendingAppCrash = null;
343
356
  } else if (this._asyncWebSocket.hasPendingActions()) {
344
- this._asyncWebSocket.rejectAll(new DetoxRuntimeError('The app has unexpectedly disconnected from Detox server.'));
357
+ const error = new DetoxRuntimeError('The app has unexpectedly disconnected from Detox server.');
358
+ this._asyncWebSocket.rejectAll(error);
359
+ this._whenAppDisconnected.resolve();
360
+ } else {
361
+ this._whenAppDisconnected.resolve();
345
362
  }
346
363
  }
347
364
 
@@ -77,7 +77,7 @@ class MonitoredInstrumentation {
77
77
  'while it was waiting for "ready" message (over WebSocket) ' +
78
78
  'from the instrumentation process.',
79
79
  debugInfo: this.instrumentationStackTrace
80
- ? `Native stacktrace dump: ${this.instrumentationStackTrace}`
80
+ ? `Native stacktrace dump:\n${this.instrumentationStackTrace}`
81
81
  : '',
82
82
  });
83
83
  }
@@ -148,7 +148,15 @@ class AndroidDriver extends DeviceDriverBase {
148
148
 
149
149
  async waitUntilReady() {
150
150
  try {
151
- await Promise.race([super.waitUntilReady(), this.instrumentation.waitForCrash()]);
151
+ await Promise.race([
152
+ super.waitUntilReady(),
153
+ this.instrumentation.waitForCrash()
154
+ ]);
155
+ } catch (e) {
156
+ console.warn('An error occurred while waiting for the app to become ready. Waiting for disconnection... Error:\n', e);
157
+ await this.client.waitUntilDisconnected();
158
+ console.warn('...app disconnected.');
159
+ throw e;
152
160
  } finally {
153
161
  this.instrumentation.abortWaitForCrash();
154
162
  }
@@ -16,11 +16,12 @@ function filterErrorStack(error, predicate) {
16
16
  }
17
17
 
18
18
  function replaceErrorStack(source, target) {
19
- const sourceStack = source.stack || source.message;
20
- const targetStack = target.stack || target.message;
19
+ const sourceStack = (source.stack || '');
21
20
  const sourceMessage = sourceStack.replace(CLEAN_AT, '');
22
- const targetMessage = targetStack.replace(CLEAN_AT, '');
23
21
  const actualSourceStack = sourceStack.slice(sourceMessage.length);
22
+
23
+ const targetMessage = target.message || target.stack.replace(CLEAN_AT, '');
24
+
24
25
  target.stack = targetMessage + actualSourceStack;
25
26
  return target;
26
27
  }
@@ -1 +0,0 @@
1
- 445b3420c7150f8bea0a85311a33315d
@@ -1 +0,0 @@
1
- 42e5208f60f7384b0d367a11633d05e0c89bb02a
@@ -1 +0,0 @@
1
- 1bb7381a2ffda512bb2f1d3704381cf59e323cd8f7c61de46270f1e419ad8357
@@ -1 +0,0 @@
1
- 10576a45ba33b66912fd02cb19337b47719c2ce7c0f2234f03fd8c9ce93f31ef8e5f684d3539677a39d6b8472c0cb027fa31db4ab2863aa89ee5d42f468078c4
@@ -1 +0,0 @@
1
- 4cfde044c88da921818ab32db0493e6d
@@ -1 +0,0 @@
1
- a8f1e5c74446f6e7571861d1987ab839c4829559
@@ -1 +0,0 @@
1
- a25dcc79498abea1edfe6827b7ffd85b320318f47a1ec2310c56c3c9a0dcbd3c
@@ -1 +0,0 @@
1
- 823c23be31da691a931ee32d96845dc22eb7598366728c240b6457b88b541e03a0bfffc629a56906a8c12ee99d261fa761d519717b089c1b0c291800fd5bee63
@@ -1 +0,0 @@
1
- f00a26db2932c0f5dd9e4ea695c5f55c
@@ -1 +0,0 @@
1
- 39dba13a0e694adb108fc6bb4d15b58b21a4eed5
@@ -1 +0,0 @@
1
- c9897fd212cfefb379527e059f6f29a94f29c4681b3659e26f8f08b22e20d1ea
@@ -1 +0,0 @@
1
- f12faacdbbcf214aba48971b1054310eca06c2a69d403404376b087d86beb76345e383bc6d452f6af8ec25b050895700bd930f8a33c9439153a972a179b3c763
@@ -1 +0,0 @@
1
- 4349454740407bfe0a84123f722d4c50
@@ -1 +0,0 @@
1
- 54d373ae29b5c1c51a5c284026dcfea431c5c40b
@@ -1 +0,0 @@
1
- f3d3d79f0ee51a1b60535c305ceaac120dcf8a3662b2731a760b3914c925e7a3
@@ -1 +0,0 @@
1
- a4ed018382a78e1cd3b68380244b7610384f5ff9b0891cc992af2c43052012e6728004a6d629dd5e257005e03a15e54373549e0b9cb28d07d68e4669275f43f2