detox 19.9.2 → 19.10.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-javadoc.jar.sha512 +1 -0
- 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
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.md5 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.sha1 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.sha256 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0-sources.jar.sha512 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar +0 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.md5 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.sha1 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.sha256 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.aar.sha512 +1 -0
- package/Detox-android/com/wix/detox/{19.9.2/detox-19.9.2.pom → 19.10.0/detox-19.10.0.pom} +1 -1
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.md5 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.sha1 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.sha256 +1 -0
- package/Detox-android/com/wix/detox/19.10.0/detox-19.10.0.pom.sha512 +1 -0
- package/Detox-android/com/wix/detox/maven-metadata.xml +4 -4
- package/Detox-android/com/wix/detox/maven-metadata.xml.md5 +1 -1
- package/Detox-android/com/wix/detox/maven-metadata.xml.sha1 +1 -1
- package/Detox-android/com/wix/detox/maven-metadata.xml.sha256 +1 -1
- package/Detox-android/com/wix/detox/maven-metadata.xml.sha512 +1 -1
- package/Detox-ios-src.tbz +0 -0
- package/Detox-ios.tbz +0 -0
- package/android/detox/proguard-rules-app.pro +4 -0
- package/android/detox/src/full/java/com/wix/detox/DetoxCrashHandler.kt +1 -1
- package/android/detox/src/full/java/com/wix/detox/TestEngineFacade.kt +1 -1
- package/package.json +2 -2
- package/src/client/Client.js +18 -1
- package/src/devices/common/drivers/android/tools/MonitoredInstrumentation.js +1 -1
- package/src/devices/runtime/drivers/android/AndroidDriver.js +9 -1
- package/src/utils/errorUtils.js +4 -3
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-javadoc.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.md5 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.sha1 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.sha256 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2-sources.jar.sha512 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar +0 -0
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.md5 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.sha1 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.sha256 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.aar.sha512 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.md5 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.sha1 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.sha256 +0 -1
- package/Detox-android/com/wix/detox/19.9.2/detox-19.9.2.pom.sha512 +0 -1
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
246e031bb8a10b4897c2f60868e38a1e
|
@@ -0,0 +1 @@
|
|
1
|
+
d6c2ec03684c08bf5d408feac4b3860de5a44d4b
|
@@ -0,0 +1 @@
|
|
1
|
+
55d164318e5c579b960d8db06251807668ea5efa1d51c8bf233d1caa6bd46239
|
@@ -0,0 +1 @@
|
|
1
|
+
0b02e740c3e40a3235be505b9dcb4918f26ede99694cbaf320d7234373918b418a22437232b39b78206a813593f725f5536471640401016e35fdb76b67ebac70
|
Binary file
|
@@ -0,0 +1 @@
|
|
1
|
+
e52a3f44d369bd3f21cb7bb83d99dc33
|
@@ -0,0 +1 @@
|
|
1
|
+
9928c16835043133616631d4f76aad949aad2218
|
@@ -0,0 +1 @@
|
|
1
|
+
0b350d5a918515b94a07cb7ff736e3613e6ca5debfac16c60c7eb41d4625f26d
|
@@ -0,0 +1 @@
|
|
1
|
+
767e6cfec265b747dc3787d820abd9cf5713b40ce64420479348621faabb2f0f02f2cc83bf073d98ed5bc090e1abf9cabf86469b2bb3413fc413fe3764c90ffb
|
Binary file
|
@@ -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.
|
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.
|
7
|
-
<release>19.
|
6
|
+
<latest>19.10.0</latest>
|
7
|
+
<release>19.10.0</release>
|
8
8
|
<versions>
|
9
|
-
<version>19.
|
9
|
+
<version>19.10.0</version>
|
10
10
|
</versions>
|
11
|
-
<lastUpdated>
|
11
|
+
<lastUpdated>20220818130424</lastUpdated>
|
12
12
|
</versioning>
|
13
13
|
</metadata>
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
38d31df24edd01e6923c2e3670359d6e
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
b4a03bfc096cae92a22fabe9ae811709c09c4b92
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
504204669f5f3377f1c42725d55e8dcf742dc0c38318209978991dfe96abf831
|
@@ -1 +1 @@
|
|
1
|
-
|
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:
|
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.
|
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": "
|
180
|
+
"gitHead": "6468b38c68bcac4c283ef005e9817f1d7ba8161b"
|
181
181
|
}
|
package/src/client/Client.js
CHANGED
@@ -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
|
-
|
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
|
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([
|
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
|
}
|
package/src/utils/errorUtils.js
CHANGED
@@ -16,11 +16,12 @@ function filterErrorStack(error, predicate) {
|
|
16
16
|
}
|
17
17
|
|
18
18
|
function replaceErrorStack(source, target) {
|
19
|
-
const sourceStack = source.stack ||
|
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
|
Binary file
|
@@ -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
|