@applitools/core 4.29.0 → 4.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.30.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.29.1...js/core@4.30.0) (2025-01-22)
4
+
5
+
6
+ ### Features
7
+
8
+ * regions and coded regions with android NML ([#2735](https://github.com/Applitools-Dev/sdk/issues/2735)) ([be0f670](https://github.com/Applitools-Dev/sdk/commit/be0f6707336e1308423079f4895e6df044c9ebcd))
9
+
10
+ ## [4.29.1](https://github.com/Applitools-Dev/sdk/compare/js/core@4.29.0...js/core@4.29.1) (2025-01-19)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * mask from config property ([#2739](https://github.com/Applitools-Dev/sdk/issues/2739)) ([6840624](https://github.com/Applitools-Dev/sdk/commit/6840624f5f3f56512dce96547815904adec94704))
16
+ * universal core on windows ([#2736](https://github.com/Applitools-Dev/sdk/issues/2736)) ([9bd0744](https://github.com/Applitools-Dev/sdk/commit/9bd0744ca816a020973f20645aeb2460af76f44c))
17
+
18
+
19
+ ### Dependencies
20
+
21
+ * @applitools/socket bumped to 1.2.1
22
+ #### Bug Fixes
23
+
24
+ * mask from config property ([#2739](https://github.com/Applitools-Dev/sdk/issues/2739)) ([6840624](https://github.com/Applitools-Dev/sdk/commit/6840624f5f3f56512dce96547815904adec94704))
25
+ * @applitools/req bumped to 1.7.7
26
+ #### Bug Fixes
27
+
28
+ * memory usage going high when resource is uint8array ([#2743](https://github.com/Applitools-Dev/sdk/issues/2743)) ([d06deeb](https://github.com/Applitools-Dev/sdk/commit/d06deeb845de62e96ec623efefa90ae65a703736))
29
+ * @applitools/spec-driver-webdriver bumped to 1.1.24
30
+ #### Bug Fixes
31
+
32
+ * universal core on windows ([#2736](https://github.com/Applitools-Dev/sdk/issues/2736)) ([9bd0744](https://github.com/Applitools-Dev/sdk/commit/9bd0744ca816a020973f20645aeb2460af76f44c))
33
+ * @applitools/ufg-client bumped to 1.16.1
34
+ #### Bug Fixes
35
+
36
+ * memory usage going high when resource is uint8array ([#2743](https://github.com/Applitools-Dev/sdk/issues/2743)) ([d06deeb](https://github.com/Applitools-Dev/sdk/commit/d06deeb845de62e96ec623efefa90ae65a703736))
37
+
38
+
39
+
40
+ * @applitools/screenshoter bumped to 3.10.4
41
+
42
+ * @applitools/nml-client bumped to 1.8.23
43
+
44
+ * @applitools/tunnel-client bumped to 1.6.1
45
+ #### Bug Fixes
46
+
47
+ * memory usage going high when resource is uint8array ([#2743](https://github.com/Applitools-Dev/sdk/issues/2743)) ([d06deeb](https://github.com/Applitools-Dev/sdk/commit/d06deeb845de62e96ec623efefa90ae65a703736))
48
+
49
+
50
+
51
+ * @applitools/core-base bumped to 1.22.1
52
+
53
+ * @applitools/ec-client bumped to 1.10.2
54
+
55
+
3
56
  ## [4.29.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.28.0...js/core@4.29.0) (2025-01-13)
4
57
 
5
58
 
@@ -36,13 +36,16 @@ function hasCodedRegions(settings) {
36
36
  exports.hasCodedRegions = hasCodedRegions;
37
37
  async function extractMobileElementsIntoCheckSettings({ settings, driver, logger, }) {
38
38
  logger = logger.extend({ tags: [`extract-mobile-elements-${utils.general.shortid()}`] });
39
+ const environment = await driver.getEnvironment();
39
40
  if (settings.region) {
40
41
  logger.log('extract element form region', settings.region);
41
42
  const region = await driver.element(settings.region).catch(error => logger.log(error));
42
43
  if (!region) {
43
44
  throw new Error('region not found');
44
45
  }
45
- settings.region = await (region === null || region === void 0 ? void 0 : region.getAttribute('name'));
46
+ settings.region = environment.isAndroid
47
+ ? await (region === null || region === void 0 ? void 0 : region.getAttribute('content-desc'))
48
+ : await (region === null || region === void 0 ? void 0 : region.getAttribute('name'));
46
49
  }
47
50
  if (settings.scrollRootElement) {
48
51
  logger.log('extract element form scrollRootElement', settings.scrollRootElement);
@@ -50,7 +53,9 @@ async function extractMobileElementsIntoCheckSettings({ settings, driver, logger
50
53
  if (!scrollRootElement) {
51
54
  throw new Error('scrollRootElement not found');
52
55
  }
53
- settings.scrollRootElement = await scrollRootElement.getAttribute('name');
56
+ settings.scrollRootElement = environment.isAndroid
57
+ ? await (scrollRootElement === null || scrollRootElement === void 0 ? void 0 : scrollRootElement.getAttribute('content-desc'))
58
+ : await (scrollRootElement === null || scrollRootElement === void 0 ? void 0 : scrollRootElement.getAttribute('name'));
54
59
  }
55
60
  const codedRegionsAsElement = await regionTypes.reduce(async (promise, regionType) => {
56
61
  var _a, _b;
@@ -66,7 +71,9 @@ async function extractMobileElementsIntoCheckSettings({ settings, driver, logger
66
71
  return []; // elements not found
67
72
  return elements === null || elements === void 0 ? void 0 : elements.reduce(async (promise, element) => {
68
73
  const arr = await promise;
69
- const name = await element.getAttribute('name');
74
+ const name = environment.isAndroid
75
+ ? await element.getAttribute('content-desc')
76
+ : await element.getAttribute('name');
70
77
  if (handleRegion.has(name))
71
78
  return arr;
72
79
  handleRegion.add(name);
@@ -312,8 +312,11 @@ async function takeNMLScreenshot({ driver, settings, environments, logger, eyes,
312
312
  settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
313
313
  logger,
314
314
  });
315
- if (settings.scrollRootElement || settings.region || (0, to_base_check_settings_1.hasCodedRegions)(settings))
315
+ if (settings.scrollRootElement || settings.region || (0, to_base_check_settings_1.hasCodedRegions)(settings)) {
316
+ //TODO we can skip `preTakeScreenshot` if the element/s already have the attribute `content-desc` (for android)
317
+ // and send it to `takeScreenshot` right away (possibly with `name` attribute for ios as well)
316
318
  await nmlClient.preTakeScreenshot({ logger });
319
+ }
317
320
  const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
318
321
  settings: {
319
322
  ...settings,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "4.29.0",
3
+ "version": "4.30.0",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -55,7 +55,8 @@
55
55
  "test:e2e": "MOCHA_GROUP=e2e run --top-level mocha './test/e2e/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
56
56
  "test:it": "MOCHA_GROUP=it run --top-level mocha './test/it/**/*.spec.ts'",
57
57
  "test:unit": "MOCHA_GROUP=unit run --top-level mocha './test/unit/**/*.spec.ts'",
58
- "setup": "run --top-level browsers:setup"
58
+ "setup": "run --top-level browsers:setup",
59
+ "setup:standalone": "sh -c 'yarn chromedriver --port=4444 --verbose &'"
59
60
  },
60
61
  "sea": {
61
62
  "bin": "eyes-core",
@@ -74,19 +75,19 @@
74
75
  }
75
76
  },
76
77
  "dependencies": {
77
- "@applitools/core-base": "1.22.0",
78
+ "@applitools/core-base": "1.22.1",
78
79
  "@applitools/dom-capture": "11.5.4",
79
80
  "@applitools/dom-snapshot": "4.11.14",
80
81
  "@applitools/driver": "1.20.3",
81
- "@applitools/ec-client": "1.10.1",
82
+ "@applitools/ec-client": "1.10.2",
82
83
  "@applitools/logger": "2.1.0",
83
- "@applitools/nml-client": "1.8.22",
84
- "@applitools/req": "1.7.6",
85
- "@applitools/screenshoter": "3.10.3",
84
+ "@applitools/nml-client": "1.8.23",
85
+ "@applitools/req": "1.7.7",
86
+ "@applitools/screenshoter": "3.10.4",
86
87
  "@applitools/snippets": "2.6.4",
87
- "@applitools/socket": "1.2.0",
88
- "@applitools/spec-driver-webdriver": "1.1.23",
89
- "@applitools/ufg-client": "1.16.0",
88
+ "@applitools/socket": "1.2.1",
89
+ "@applitools/spec-driver-webdriver": "1.1.24",
90
+ "@applitools/ufg-client": "1.16.1",
90
91
  "@applitools/utils": "1.7.7",
91
92
  "@types/ws": "8.5.5",
92
93
  "abort-controller": "3.0.0",
@@ -104,11 +105,12 @@
104
105
  "@applitools/spec-driver-selenium": "^1.5.94",
105
106
  "@applitools/test-server": "^1.2.2",
106
107
  "@applitools/test-utils": "^1.5.17",
107
- "@applitools/tunnel-client": "^1.6.0",
108
+ "@applitools/tunnel-client": "^1.6.1",
108
109
  "@types/node": "^12.20.55",
109
110
  "@types/selenium-webdriver": "^4.1.2",
110
111
  "@types/semver": "^7.5.8",
111
112
  "@types/yargs": "^17.0.22",
113
+ "chromedriver": "^131.0.5",
112
114
  "nock": "^13.3.2",
113
115
  "png-async": "^0.9.4",
114
116
  "puppeteer": "^19.11.1",