detox 19.9.0 → 19.9.3-prerelease.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. package/Detox-android/com/wix/detox/{19.9.0/detox-19.9.0-javadoc.jar → 19.9.3-prerelease.0/detox-19.9.3-prerelease.0-javadoc.jar} +0 -0
  2. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-javadoc.jar.md5 +1 -0
  3. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-javadoc.jar.sha1 +1 -0
  4. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-javadoc.jar.sha256 +1 -0
  5. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-javadoc.jar.sha512 +1 -0
  6. package/Detox-android/com/wix/detox/{19.9.0/detox-19.9.0-sources.jar → 19.9.3-prerelease.0/detox-19.9.3-prerelease.0-sources.jar} +0 -0
  7. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-sources.jar.md5 +1 -0
  8. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-sources.jar.sha1 +1 -0
  9. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-sources.jar.sha256 +1 -0
  10. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0-sources.jar.sha512 +1 -0
  11. package/Detox-android/com/wix/detox/{19.9.0/detox-19.9.0.aar → 19.9.3-prerelease.0/detox-19.9.3-prerelease.0.aar} +0 -0
  12. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.aar.md5 +1 -0
  13. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.aar.sha1 +1 -0
  14. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.aar.sha256 +1 -0
  15. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.aar.sha512 +1 -0
  16. package/Detox-android/com/wix/detox/{19.9.0/detox-19.9.0.pom → 19.9.3-prerelease.0/detox-19.9.3-prerelease.0.pom} +1 -1
  17. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.pom.md5 +1 -0
  18. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.pom.sha1 +1 -0
  19. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.0.pom.sha256 +1 -0
  20. package/Detox-android/com/wix/detox/19.9.3-prerelease.0/detox-19.9.3-prerelease.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/reactnative/idlingresources/uimodule/RN66Workaround.kt +13 -4
  30. package/package.json +2 -2
  31. package/src/devices/common/drivers/android/tools/MonitoredInstrumentation.js +1 -1
  32. package/src/devices/common/drivers/ios/tools/AppleSimUtils.js +3 -1
  33. package/src/utils/environment.js +30 -15
  34. package/src/utils/errorUtils.js +4 -3
  35. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-javadoc.jar.md5 +0 -1
  36. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-javadoc.jar.sha1 +0 -1
  37. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-javadoc.jar.sha256 +0 -1
  38. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-javadoc.jar.sha512 +0 -1
  39. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-sources.jar.md5 +0 -1
  40. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-sources.jar.sha1 +0 -1
  41. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-sources.jar.sha256 +0 -1
  42. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0-sources.jar.sha512 +0 -1
  43. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.aar.md5 +0 -1
  44. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.aar.sha1 +0 -1
  45. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.aar.sha256 +0 -1
  46. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.aar.sha512 +0 -1
  47. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.pom.md5 +0 -1
  48. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.pom.sha1 +0 -1
  49. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.pom.sha256 +0 -1
  50. package/Detox-android/com/wix/detox/19.9.0/detox-19.9.0.pom.sha512 +0 -1
@@ -0,0 +1 @@
1
+ d21ba3698393757099c6b579069c4f0a3efe6914
@@ -0,0 +1 @@
1
+ 2e27d12cadbff6d1f4bf0f372304e89159326824f8073395004dbc399c6c8621
@@ -0,0 +1 @@
1
+ b6cde42b4b05e635f4008e7463dc8b0504ff7cf42044d95c9116defcf405b4041dd40941a6ca24392a86abee7985b0cd3c0b157b02ee6054813cb9097dcecea1
@@ -0,0 +1 @@
1
+ f2ddac5c451f94a2d4708da17f1ae989ad8765f2
@@ -0,0 +1 @@
1
+ ecc7409545488a86124c3b08521103b375030ea780a63668d3d0dd8391b8e556
@@ -0,0 +1 @@
1
+ f146fcbb1460ca2d0e870cd54eecce926a88b4f742d4dac50440c6626a689c0d8fd152267f120768af4237c290cff1d1e858d232b4a74447c3bd21baf084f4a4
@@ -0,0 +1 @@
1
+ f00a26db2932c0f5dd9e4ea695c5f55c
@@ -0,0 +1 @@
1
+ 39dba13a0e694adb108fc6bb4d15b58b21a4eed5
@@ -0,0 +1 @@
1
+ c9897fd212cfefb379527e059f6f29a94f29c4681b3659e26f8f08b22e20d1ea
@@ -0,0 +1 @@
1
+ f12faacdbbcf214aba48971b1054310eca06c2a69d403404376b087d86beb76345e383bc6d452f6af8ec25b050895700bd930f8a33c9439153a972a179b3c763
@@ -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.0</version>
6
+ <version>19.9.3-prerelease.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
+ a765d464fcaef42e8caff137de8d635c
@@ -0,0 +1 @@
1
+ 00a980a61b3b2cea782cc10be620ad08f83ce69f
@@ -0,0 +1 @@
1
+ 246f80766f6b9c4d4a4255fdec9b09540a0fab9e56d7d2ad71a363935de5bcbf
@@ -0,0 +1 @@
1
+ a18048b41a07e0dc793b8340714cc3fe86c72269683b4302a41bc5b1100c3750e9a28874cc01b474818ead5c83ee8bb56475865167ddcb96ba9bb10566368697
@@ -3,11 +3,11 @@
3
3
  <groupId>com.wix</groupId>
4
4
  <artifactId>detox</artifactId>
5
5
  <versioning>
6
- <latest>19.9.0</latest>
7
- <release>19.9.0</release>
6
+ <latest>19.9.3-prerelease.0</latest>
7
+ <release>19.9.3-prerelease.0</release>
8
8
  <versions>
9
- <version>19.9.0</version>
9
+ <version>19.9.3-prerelease.0</version>
10
10
  </versions>
11
- <lastUpdated>20220803110708</lastUpdated>
11
+ <lastUpdated>20220816093537</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- 86ca4dbbdfc29a8581f2c10836c468e6
1
+ 2245911d915896d8d4c6e171bcbb5c49
@@ -1 +1 @@
1
- 9a236d336900276e15d096cf02260d5b65c5b6b0
1
+ 124069f7c432842c7ca1f5778350bae5fc2f61a7
@@ -1 +1 @@
1
- 9b4381ec63fe2ce4866684603717c97be6cfcb7a0feab7ff3b53f221cbe87890
1
+ b884f3860bfd26a38a9780ccb875911191aa4f596235d4de2b7703dbb6ed21fc
@@ -1 +1 @@
1
- db3116343e09de63d475c873e8ea5226cf4298fb4e0ae482fbc5ced2655398825e0b4d1987d2805c2c8d0c6a5ec400fd80e7a062c563c1fe7af1ae8ba91de204
1
+ ca6716f7744d90a3779336b55729441cf5b2c7dd822bdf57105cbba6b73ffdab17782c983828f97a4a0b914bc9759e256283d98debb4384b148cd88174de9036
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.** { *; }
@@ -2,6 +2,7 @@ package com.wix.detox.reactnative.idlingresources.uimodule
2
2
 
3
3
  import android.util.Log
4
4
  import android.view.View
5
+ import com.facebook.react.uimanager.IllegalViewOperationException
5
6
  import com.wix.detox.common.DetoxLog.Companion.LOG_TAG
6
7
  import com.wix.detox.reactnative.ReactNativeInfo
7
8
  import java.lang.ref.WeakReference
@@ -19,9 +20,7 @@ class RN66Workaround {
19
20
  fun isScarceUISwitchCommandStuckInQueue(uiManagerModuleReflected: UIManagerModuleReflected): Boolean {
20
21
  var isStuckSwitchOperation = false
21
22
 
22
- val rnVersion = ReactNativeInfo.rnVersion()
23
-
24
- if (rnVersion.minor >= 66 && uiManagerModuleReflected.getUIOpsCount() >= 1) {
23
+ if (isRelevantRNVersion() && uiManagerModuleReflected.getUIOpsCount() >= 1) {
25
24
  val nextUIOperation = uiManagerModuleReflected.getNextUIOpReflected()
26
25
  val view = getUIOpView(uiManagerModuleReflected, nextUIOperation)
27
26
  val isReactSwitch = isReactSwitch(view)
@@ -46,10 +45,20 @@ class RN66Workaround {
46
45
  return isStuckSwitchOperation
47
46
  }
48
47
 
48
+ private fun isRelevantRNVersion(): Boolean {
49
+ val rnVersion = ReactNativeInfo.rnVersion()
50
+ return rnVersion.minor == 66 || (rnVersion.minor == 67 && rnVersion.patch < 4)
51
+ }
52
+
49
53
  private fun getUIOpView(uiManagerModuleReflected: UIManagerModuleReflected, uiOperation: DispatchCommandOperationReflected?): View? {
50
54
  val nativeViewHierarchyManager = uiManagerModuleReflected.nativeViewHierarchyManager() ?: return null
51
55
  val tag = uiOperation?.tag ?: return null
52
- return nativeViewHierarchyManager.getViewClass(tag)
56
+ return try {
57
+ nativeViewHierarchyManager.getViewClass(tag)
58
+ } catch(e: IllegalViewOperationException) {
59
+ Log.e(LOG_TAG, "failed to get view from tag ", e.cause)
60
+ null
61
+ }
53
62
  }
54
63
 
55
64
  private fun isReactSwitch(view: View?) = try {
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.0",
4
+ "version": "19.9.3-prerelease.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": "22290ba2b9d687065925ceada77daa460331689e"
180
+ "gitHead": "4e60f0247a71e37509f3514767be4747b0985f31"
181
181
  }
@@ -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
  }
@@ -246,7 +246,9 @@ class AppleSimUtils {
246
246
  // ```
247
247
  // This workaround is done to ignore the error above, as we do not care if the app was running before, we just
248
248
  // want to make sure it isn't now.
249
- if (err.code === 3 && err.stderr.includes(`the app is not currently running`)) {
249
+ if (err.code === 3 &&
250
+ (err.stderr.includes(`the app is not currently running`) ||
251
+ err.stderr.includes(`The operation couldn’t be completed. found nothing to terminate`))) {
250
252
  return;
251
253
  }
252
254
 
@@ -78,7 +78,7 @@ function getAndroidEmulatorPath() {
78
78
  return legacyPath;
79
79
  }
80
80
 
81
- throwSdkIntegrityError(sdkRoot, 'emulator/emulator');
81
+ throwSdkBinIntegrityError(sdkRoot, 'emulator/emulator');
82
82
  }
83
83
 
84
84
  async function getAaptPath() {
@@ -88,23 +88,33 @@ async function getAaptPath() {
88
88
  }
89
89
 
90
90
  const latestBuildTools = await getLatestBuildToolsPath(sdkRoot);
91
- const defaultPath = latestBuildTools && which('aapt', latestBuildTools);
91
+ if (!latestBuildTools) {
92
+ throwSdkIntegrityError('Failed to find the "aapt" tool under the Android SDK: No build-tools are installed!');
93
+ }
94
+
95
+ const defaultPath = which('aapt', latestBuildTools);
92
96
  if (defaultPath) {
93
97
  return defaultPath;
94
98
  }
95
99
 
96
- throwSdkIntegrityError(sdkRoot, `${latestBuildTools}/aapt`);
100
+ throwSdkToolPathError(`${latestBuildTools}/aapt`);
97
101
  }
98
102
 
99
103
  async function getLatestBuildToolsPath(sdkRoot) {
100
- if (!sdkRoot) return '';
104
+ if (!sdkRoot) {
105
+ return '';
106
+ }
101
107
 
102
108
  const buildToolsDir = path.join(sdkRoot, 'build-tools');
103
- if (!fs.existsSync(buildToolsDir)) return '';
109
+ if (!fs.existsSync(buildToolsDir)) {
110
+ return '';
111
+ }
104
112
 
105
113
  const buildToolsVersions = await fsext.getDirectories(buildToolsDir);
106
114
  const latestBuildToolsVersion = _.last(buildToolsVersions);
107
- if (!latestBuildToolsVersion) return '';
115
+ if (!latestBuildToolsVersion) {
116
+ return '';
117
+ }
108
118
 
109
119
  return path.join(buildToolsDir, latestBuildToolsVersion);
110
120
  }
@@ -120,7 +130,7 @@ function getAdbPath() {
120
130
  return defaultPath;
121
131
  }
122
132
 
123
- throwSdkIntegrityError(sdkRoot, 'platform-tools/adb');
133
+ throwSdkBinIntegrityError(sdkRoot, 'platform-tools/adb');
124
134
  }
125
135
 
126
136
  function getGmsaasPath() {
@@ -142,15 +152,20 @@ function throwMissingAvdError(avdName, avdPath, avdIniPath) {
142
152
  );
143
153
  }
144
154
 
145
- function throwSdkIntegrityError(sdkRoot, relativeExecutablePath) {
146
- const executablePath = path.join(sdkRoot, relativeExecutablePath);
147
- const name = path.basename(executablePath);
148
- const dir = path.dirname(executablePath);
155
+ function throwSdkBinIntegrityError(sdkRoot, relativeBinPath) {
156
+ const executablePath = path.join(sdkRoot, relativeBinPath);
157
+ throwSdkToolPathError(executablePath);
158
+ }
149
159
 
150
- throw new DetoxRuntimeError(
151
- `There was no "${name}" executable file in directory: ${dir}.\n` +
152
- `Check integrity of your Android SDK.`
153
- );
160
+ function throwSdkToolPathError(sdkToolPath) {
161
+ const name = path.basename(sdkToolPath);
162
+ const dir = path.dirname(sdkToolPath);
163
+
164
+ throwSdkIntegrityError(`There was no "${name}" executable file in directory: ${dir}`);
165
+ }
166
+
167
+ function throwSdkIntegrityError(errMessage) {
168
+ throw new DetoxRuntimeError(`${errMessage}\nCheck the integrity of your Android SDK.`);
154
169
  }
155
170
 
156
171
  function throwMissingGmsaasError() {
@@ -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
- 5ab3b2caf273681ecb01c3a125ef417f
@@ -1 +0,0 @@
1
- eb4040ada71ccb1050cab9b5e755ff83791d4a39
@@ -1 +0,0 @@
1
- ae666fd6178d7c81e549450c5874a07604fd14988436e45526071fa43043e061
@@ -1 +0,0 @@
1
- f6f987d885a2975deb085c30211d5ae5fd2f3bfd9e7b87537aed1c017a439e6fb59fe2c65119e7581f36d8fca570629c7f02a3709a5a7014580d5299237fbd0b
@@ -1 +0,0 @@
1
- 8168ce2f62008b352b7912c7494b44e2
@@ -1 +0,0 @@
1
- 6c478ca17616be344363b47be51ae3cd565a7d1e
@@ -1 +0,0 @@
1
- 280ed7cc988d683fca37ec69b7d09f1922148c655de34e473101cbcdd30c2593
@@ -1 +0,0 @@
1
- 514f843d3398f32c481b2fdc868d457f7a323ca6963e6007486d72d3577ac7d083ff2c05598e823067ad900ecf5167199ad5c61aab879e613e2becba89b0c883
@@ -1 +0,0 @@
1
- 6d3f9250a50b2297577f126aa0253833
@@ -1 +0,0 @@
1
- e8a6d8b30ca550020ddcc21a061ea5cb360515d8
@@ -1 +0,0 @@
1
- bc528b332ad97156496b6d44e60005884f2d9ffe79808319e4a844b65cad9810
@@ -1 +0,0 @@
1
- d3b944c0bedc48769416f46594853b759776b04befafc96314f2023f01f94607b43a22f2ebffe2ccd2c1c9144357d8e8888b600bfed1c8550263ff1c63d1f22f
@@ -1 +0,0 @@
1
- 3b4fab7ecd725791870c6e4eb635f0d2
@@ -1 +0,0 @@
1
- 13dae48f94fca5e145502af8cf488b395201f59e
@@ -1 +0,0 @@
1
- cd4f6484c2f129367407435232f2065edae2562dbdb861fcefa9d40675a04f75
@@ -1 +0,0 @@
1
- afe8148d581769b9292c92aa9ae48f5e8671c7c0f1950b35eb552c831e5b8ace7f54f1a2ac2604a43e2a6ae380cab441935059494963820b1f15c53ad94e2b1d