@applitools/core 4.16.4 → 4.17.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,173 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.17.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.16.5...js/core@4.17.0) (2024-06-26)
4
+
5
+
6
+ ### Features
7
+
8
+ * tell the backend if `remove duplicate tests` is used ([#2373](https://github.com/Applitools-Dev/sdk/issues/2373)) ([fe59b40](https://github.com/Applitools-Dev/sdk/commit/fe59b404ad163c595bb329d9a24ef2191d3bf170))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * change core ([d12a246](https://github.com/Applitools-Dev/sdk/commit/d12a246723cf72def6335e8698e711a43bda9e6a))
14
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
15
+
16
+
17
+ ### Dependencies
18
+
19
+ * @applitools/utils bumped to 1.7.4
20
+ #### Bug Fixes
21
+
22
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
23
+ * @applitools/logger bumped to 2.0.18
24
+ #### Bug Fixes
25
+
26
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
27
+
28
+
29
+
30
+ * @applitools/socket bumped to 1.1.18
31
+ #### Bug Fixes
32
+
33
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
34
+
35
+
36
+
37
+ * @applitools/req bumped to 1.7.2
38
+ #### Bug Fixes
39
+
40
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
41
+
42
+
43
+
44
+ * @applitools/image bumped to 1.1.13
45
+ #### Bug Fixes
46
+
47
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
48
+
49
+
50
+
51
+ * @applitools/snippets bumped to 2.4.27
52
+ #### Bug Fixes
53
+
54
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
55
+ * @applitools/css-tree bumped to 1.1.4
56
+ #### Bug Fixes
57
+
58
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
59
+ * @applitools/dom-shared bumped to 1.0.15
60
+ #### Bug Fixes
61
+
62
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
63
+ * @applitools/dom-capture bumped to 11.3.0
64
+ #### Features
65
+
66
+ * add cliet rects to text nodes ([#2188](https://github.com/Applitools-Dev/sdk/issues/2188)) ([0d4180e](https://github.com/Applitools-Dev/sdk/commit/0d4180e8e362669b36a27955121caae5575918f7))
67
+ * add cursor and pointer-events to dom-capture ([#2369](https://github.com/Applitools-Dev/sdk/issues/2369)) ([efdce02](https://github.com/Applitools-Dev/sdk/commit/efdce028a2a6fb18ad3c6237f2020c1ff00e90de))
68
+
69
+
70
+ #### Bug Fixes
71
+
72
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
73
+
74
+
75
+
76
+ * @applitools/dom-snapshot bumped to 4.11.3
77
+ #### Bug Fixes
78
+
79
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
80
+
81
+
82
+
83
+ * @applitools/spec-driver-webdriver bumped to 1.1.10
84
+ #### Bug Fixes
85
+
86
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
87
+
88
+
89
+
90
+ * @applitools/spec-driver-selenium bumped to 1.5.81
91
+ #### Bug Fixes
92
+
93
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
94
+
95
+
96
+
97
+ * @applitools/spec-driver-puppeteer bumped to 1.4.10
98
+ #### Bug Fixes
99
+
100
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
101
+
102
+
103
+
104
+ * @applitools/driver bumped to 1.17.5
105
+ #### Bug Fixes
106
+
107
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
108
+
109
+
110
+
111
+ * @applitools/screenshoter bumped to 3.8.34
112
+ #### Bug Fixes
113
+
114
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
115
+
116
+
117
+
118
+ * @applitools/nml-client bumped to 1.8.8
119
+ #### Bug Fixes
120
+
121
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
122
+
123
+
124
+
125
+ * @applitools/tunnel-client bumped to 1.5.7
126
+ #### Bug Fixes
127
+
128
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
129
+
130
+
131
+
132
+ * @applitools/ufg-client bumped to 1.12.2
133
+ #### Bug Fixes
134
+
135
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
136
+
137
+
138
+
139
+ * @applitools/ec-client bumped to 1.9.2
140
+ #### Bug Fixes
141
+
142
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
143
+
144
+
145
+
146
+ * @applitools/core-base bumped to 1.16.0
147
+ #### Features
148
+
149
+ * tell the backend if `remove duplicate tests` is used ([#2373](https://github.com/Applitools-Dev/sdk/issues/2373)) ([fe59b40](https://github.com/Applitools-Dev/sdk/commit/fe59b404ad163c595bb329d9a24ef2191d3bf170))
150
+
151
+
152
+ #### Bug Fixes
153
+
154
+ * tunnel client ([670b184](https://github.com/Applitools-Dev/sdk/commit/670b1843ce43347d97e19fa02f8bc630332ff414))
155
+
156
+
157
+
158
+
159
+ ## [4.16.5](https://github.com/Applitools-Dev/sdk/compare/js/core@4.16.4...js/core@4.16.5) (2024-06-16)
160
+
161
+
162
+ ### Dependencies
163
+
164
+ * @applitools/tunnel-client bumped to 1.5.6
165
+ #### Bug Fixes
166
+
167
+ * tunnel client ([6830f02](https://github.com/Applitools-Dev/sdk/commit/6830f02c988e07c1c1ce257a84467f234149fc05))
168
+ * @applitools/ec-client bumped to 1.9.1
169
+
170
+
3
171
  ## [4.16.4](https://github.com/Applitools-Dev/sdk/compare/js/core@4.16.3...js/core@4.16.4) (2024-06-16)
4
172
 
5
173
 
package/dist/core.js CHANGED
@@ -48,7 +48,7 @@ function makeCore({ spec, clients, base: defaultBase, concurrency = utils.genera
48
48
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: 'core' } });
49
49
  (0, memory_usage_logging_1.startMemoryUsageLogging)({ logger });
50
50
  const environment = (0, extract_test_environment_1.extractTestEnvironment)(defaultEnvironment);
51
- logger.log(`Core is initialized ${defaultBase ? 'with' : 'without'} custom base core and environment`, environment);
51
+ logger.log(`Core is initialized ${defaultBase ? 'with' : 'without'} custom base core and environment `, environment);
52
52
  if (environment.sdk)
53
53
  (0, validate_sdk_version_1.validateSdkVersion)(environment.sdk, { logger });
54
54
  const base = defaultBase !== null && defaultBase !== void 0 ? defaultBase : (0, core_base_1.makeCore)({ agentId, concurrency, cwd, logger });
@@ -60,14 +60,20 @@ function makeGetManagerResults({ core, storage, logger: mainLogger, }) {
60
60
  else {
61
61
  await Promise.all(duplicateContainers.map(async (container) => {
62
62
  if (container.result) {
63
- await core.deleteTest({
64
- settings: {
65
- ...container.result.eyesServer,
66
- testId: container.result.id,
67
- batchId: container.result.batchId,
68
- secretToken: container.result.secretToken,
69
- },
70
- });
63
+ // the server will also delete the test if it's a duplicate, so in newer server versions it's a redundancy and that's ok if it fails
64
+ try {
65
+ await core.deleteTest({
66
+ settings: {
67
+ ...container.result.eyesServer,
68
+ testId: container.result.id,
69
+ batchId: container.result.batchId,
70
+ secretToken: container.result.secretToken,
71
+ },
72
+ });
73
+ }
74
+ catch (err) {
75
+ logger.log('Did not delete duplicate test', { testId: container.result.id, error: err });
76
+ }
71
77
  }
72
78
  }));
73
79
  logger.log('Done cleaning up duplicate tests!');
@@ -53,7 +53,18 @@ function makeMakeManager({ spec, clients, core, base: defaultBase, agentId: defa
53
53
  return base.concurrency;
54
54
  },
55
55
  base,
56
- openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, clients, batch: settings.batch, spec, core, cores, environment, asyncCache, logger }), async (openEyes, options) => {
56
+ openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({
57
+ type,
58
+ clients,
59
+ batch: settings.batch,
60
+ removeDuplicateTests: settings.removeDuplicateTests,
61
+ spec,
62
+ core,
63
+ cores,
64
+ environment,
65
+ asyncCache,
66
+ logger,
67
+ }), async (openEyes, options) => {
57
68
  const eyes = await openEyes(options);
58
69
  storage.push(eyes);
59
70
  return eyes;
package/dist/open-eyes.js CHANGED
@@ -35,20 +35,20 @@ const abort_1 = require("./abort");
35
35
  const get_eyes_results_1 = require("./get-eyes-results");
36
36
  const populate_eyes_server_settings_1 = require("./utils/populate-eyes-server-settings");
37
37
  const utils = __importStar(require("@applitools/utils"));
38
- function makeOpenEyes({ type: defaultType = 'classic', clients, batch, core, cores, spec, environment, logger: mainLogger, asyncCache, }) {
38
+ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, }) {
39
39
  return async function openEyes({ type = defaultType, settings, config, target, logger = mainLogger, }) {
40
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
41
- var _u, _v, _w, _x, _y;
40
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
41
+ var _v, _w, _x, _y, _z;
42
42
  logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils.general.shortid()}`] });
43
43
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...settings };
44
44
  (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
45
45
  (_a = settings.userTestId) !== null && _a !== void 0 ? _a : (settings.userTestId = `${settings.testName}--${utils.general.guid()}`);
46
46
  settings.batch = { ...batch, ...settings.batch };
47
- (_b = (_u = settings.batch).id) !== null && _b !== void 0 ? _b : (_u.id = (_c = utils.general.getEnvValue('BATCH_ID')) !== null && _c !== void 0 ? _c : `generated-${utils.general.guid()}`);
48
- (_d = (_v = settings.batch).buildId) !== null && _d !== void 0 ? _d : (_v.buildId = utils.general.getEnvValue('BATCH_BUILD_ID'));
49
- (_e = (_w = settings.batch).name) !== null && _e !== void 0 ? _e : (_w.name = utils.general.getEnvValue('BATCH_NAME'));
50
- (_f = (_x = settings.batch).sequenceName) !== null && _f !== void 0 ? _f : (_x.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
51
- (_g = (_y = settings.batch).notifyOnCompletion) !== null && _g !== void 0 ? _g : (_y.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
47
+ (_b = (_v = settings.batch).id) !== null && _b !== void 0 ? _b : (_v.id = (_c = utils.general.getEnvValue('BATCH_ID')) !== null && _c !== void 0 ? _c : `generated-${utils.general.guid()}`);
48
+ (_d = (_w = settings.batch).buildId) !== null && _d !== void 0 ? _d : (_w.buildId = utils.general.getEnvValue('BATCH_BUILD_ID'));
49
+ (_e = (_x = settings.batch).name) !== null && _e !== void 0 ? _e : (_x.name = utils.general.getEnvValue('BATCH_NAME'));
50
+ (_f = (_y = settings.batch).sequenceName) !== null && _f !== void 0 ? _f : (_y.sequenceName = utils.general.getEnvValue('BATCH_SEQUENCE'));
51
+ (_g = (_z = settings.batch).notifyOnCompletion) !== null && _g !== void 0 ? _g : (_z.notifyOnCompletion = utils.general.getEnvValue('BATCH_NOTIFY', 'boolean'));
52
52
  (_h = settings.keepBatchOpen) !== null && _h !== void 0 ? _h : (settings.keepBatchOpen = utils.general.getEnvValue('DONT_CLOSE_BATCHES', 'boolean'));
53
53
  (_j = settings.branchName) !== null && _j !== void 0 ? _j : (settings.branchName = utils.general.getEnvValue('BRANCH'));
54
54
  (_k = settings.parentBranchName) !== null && _k !== void 0 ? _k : (settings.parentBranchName = utils.general.getEnvValue('PARENT_BRANCH'));
@@ -58,6 +58,7 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, core, cor
58
58
  (_p = settings.ufgServerUrl) !== null && _p !== void 0 ? _p : (settings.ufgServerUrl = utils.general.getEnvValue('UFG_SERVER_URL'));
59
59
  (_q = settings.ignoreBaseline) !== null && _q !== void 0 ? _q : (settings.ignoreBaseline = false);
60
60
  (_r = settings.compareWithParentBranch) !== null && _r !== void 0 ? _r : (settings.compareWithParentBranch = false);
61
+ (_s = settings.removeDuplicateTests) !== null && _s !== void 0 ? _s : (settings.removeDuplicateTests = removeDuplicateTests);
61
62
  const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings }));
62
63
  const driverEnvironment = await (driver === null || driver === void 0 ? void 0 : driver.getEnvironment());
63
64
  const driverUrl = await (driver === null || driver === void 0 ? void 0 : driver.getDriverUrl());
@@ -68,7 +69,7 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, core, cor
68
69
  event: {
69
70
  type: 'openEyes',
70
71
  userTestId: settings.userTestId,
71
- concurrency: (_s = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _s !== void 0 ? _s : core.concurrency,
72
+ concurrency: (_t = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _t !== void 0 ? _t : core.concurrency,
72
73
  environment,
73
74
  driver: {
74
75
  deviceName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.deviceName,
@@ -76,7 +77,7 @@ function makeOpenEyes({ type: defaultType = 'classic', clients, batch, core, cor
76
77
  browserVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.browserVersion,
77
78
  platformName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformName,
78
79
  platformVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformVersion,
79
- isApplitoolsLib: (_t = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _t === void 0 ? void 0 : _t.instrumented,
80
+ isApplitoolsLib: (_u = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _u === void 0 ? void 0 : _u.instrumented,
80
81
  isEC: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.isEC,
81
82
  },
82
83
  driverUrl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "4.16.4",
3
+ "version": "4.17.0",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -74,25 +74,25 @@
74
74
  }
75
75
  },
76
76
  "dependencies": {
77
- "@applitools/core-base": "1.15.2",
78
- "@applitools/dom-capture": "11.2.8",
79
- "@applitools/dom-snapshot": "4.11.2",
80
- "@applitools/driver": "1.17.4",
81
- "@applitools/ec-client": "1.9.0",
82
- "@applitools/logger": "2.0.17",
83
- "@applitools/nml-client": "1.8.7",
84
- "@applitools/req": "1.7.1",
85
- "@applitools/screenshoter": "3.8.33",
86
- "@applitools/snippets": "2.4.26",
87
- "@applitools/socket": "1.1.17",
88
- "@applitools/spec-driver-webdriver": "1.1.9",
89
- "@applitools/ufg-client": "1.12.1",
90
- "@applitools/utils": "1.7.3",
77
+ "@applitools/core-base": "1.16.0",
78
+ "@applitools/dom-capture": "11.3.0",
79
+ "@applitools/dom-snapshot": "4.11.3",
80
+ "@applitools/driver": "1.17.5",
81
+ "@applitools/ec-client": "1.9.2",
82
+ "@applitools/logger": "2.0.18",
83
+ "@applitools/nml-client": "1.8.8",
84
+ "@applitools/req": "1.7.2",
85
+ "@applitools/screenshoter": "3.8.34",
86
+ "@applitools/snippets": "2.4.27",
87
+ "@applitools/socket": "1.1.18",
88
+ "@applitools/spec-driver-webdriver": "1.1.10",
89
+ "@applitools/ufg-client": "1.12.2",
90
+ "@applitools/utils": "1.7.4",
91
91
  "@types/ws": "8.5.5",
92
92
  "abort-controller": "3.0.0",
93
93
  "chalk": "4.1.2",
94
94
  "node-fetch": "2.6.7",
95
- "semver": "7.5.4",
95
+ "semver": "7.6.2",
96
96
  "webdriver": "7.31.1",
97
97
  "ws": "8.13.0",
98
98
  "yargs": "17.7.2"
@@ -100,14 +100,14 @@
100
100
  "devDependencies": {
101
101
  "@applitools/bongo": "^5.10.0",
102
102
  "@applitools/sea": "^1.0.0",
103
- "@applitools/spec-driver-puppeteer": "^1.4.9",
104
- "@applitools/spec-driver-selenium": "^1.5.80",
103
+ "@applitools/spec-driver-puppeteer": "^1.4.10",
104
+ "@applitools/spec-driver-selenium": "^1.5.81",
105
105
  "@applitools/test-server": "^1.2.2",
106
106
  "@applitools/test-utils": "^1.5.17",
107
- "@applitools/tunnel-client": "^1.5.5",
107
+ "@applitools/tunnel-client": "^1.5.7",
108
108
  "@types/node": "^12.20.55",
109
109
  "@types/selenium-webdriver": "^4.1.2",
110
- "@types/semver": "^7.5.4",
110
+ "@types/semver": "^7.5.8",
111
111
  "@types/yargs": "^17.0.22",
112
112
  "nock": "^13.3.2",
113
113
  "png-async": "^0.9.4",
@@ -10,6 +10,7 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
10
10
  nml?: NMLClient;
11
11
  };
12
12
  batch?: Batch;
13
+ removeDuplicateTests?: boolean;
13
14
  core: Core<TSpec, TType>;
14
15
  cores?: {
15
16
  [TKey in 'classic' | 'ufg']: TypedCore<TSpec, TKey>;
@@ -19,7 +20,7 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
19
20
  logger: Logger;
20
21
  asyncCache?: AsyncCache;
21
22
  };
22
- export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, clients, batch, core, cores, spec, environment, logger: mainLogger, asyncCache, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
23
+ export declare function makeOpenEyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, clients, batch, removeDuplicateTests, core, cores, spec, environment, logger: mainLogger, asyncCache, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
23
24
  type?: TType | undefined;
24
25
  settings?: Partial<OpenSettings<TDefaultType> & OpenSettings<TType>> | undefined;
25
26
  config?: (Config<TSpec, TDefaultType> & Config<TSpec, TType>) | undefined;
package/types/types.d.ts CHANGED
@@ -105,6 +105,7 @@ export interface ManagerSettings {
105
105
  legacyConcurrency?: number;
106
106
  batch?: AutomationCore.Batch;
107
107
  agentId?: string;
108
+ removeDuplicateTests?: boolean;
108
109
  }
109
110
  export type Config<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
110
111
  open: Partial<Omit<OpenSettings<TType>, 'userCommandId'>>;