@applitools/eyes-browser 1.0.5 → 1.1.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.
Files changed (3) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/dist/index.js +479 -193
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,124 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-browser-v1.0.7...js/eyes-browser@1.1.0) (2024-02-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * add support for browser in eyes ([#2054](https://github.com/applitools/eyes.sdk.javascript1/issues/2054)) ([4af82dd](https://github.com/applitools/eyes.sdk.javascript1/commit/4af82dd2a667c13adfed0be98a026181755256c6))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * @applitools/dom-snapshot bumped to 4.7.17
14
+ #### Bug Fixes
15
+
16
+ * throw error for encoding none unicode char ([#2171](https://github.com/applitools/eyes.sdk.javascript1/issues/2171)) ([4edb9cf](https://github.com/applitools/eyes.sdk.javascript1/commit/4edb9cfb27d8db2ff4cb09c8ebf1b95ab020633d))
17
+ * @applitools/spec-driver-webdriver bumped to 1.0.57
18
+ #### Bug Fixes
19
+
20
+ * fixed issue with cdp commands on chromium browsers ([#2180](https://github.com/applitools/eyes.sdk.javascript1/issues/2180)) ([550fc77](https://github.com/applitools/eyes.sdk.javascript1/commit/550fc772d3988aae29e6f4a1a11d2a408072dc38))
21
+ * @applitools/spec-driver-puppeteer bumped to 1.4.0
22
+ #### Features
23
+
24
+ * added support for puppeteer >= 22 ([#2185](https://github.com/applitools/eyes.sdk.javascript1/issues/2185)) ([59d23a9](https://github.com/applitools/eyes.sdk.javascript1/commit/59d23a9689d77c7db06df53b67fa293a3b3f166e))
25
+ * @applitools/core bumped to 4.8.0
26
+ #### Features
27
+
28
+ * add support for regions and calculated regions ([#2161](https://github.com/applitools/eyes.sdk.javascript1/issues/2161)) ([fea4b1f](https://github.com/applitools/eyes.sdk.javascript1/commit/fea4b1fca3d8f59eada2b5186cd32d47352ccf1a))
29
+
30
+
31
+ #### Bug Fixes
32
+
33
+ * missing viewport when using system screenshot and multi viewport ([#2173](https://github.com/applitools/eyes.sdk.javascript1/issues/2173)) ([411283c](https://github.com/applitools/eyes.sdk.javascript1/commit/411283c7bebc09f178d73b6b47e81e5ce4244d5e))
34
+ * nml coded region integration with universal ([6fb0934](https://github.com/applitools/eyes.sdk.javascript1/commit/6fb09348238dfe4698856f88e762a9abf80c686f))
35
+ * throw error for encoding none unicode char ([#2171](https://github.com/applitools/eyes.sdk.javascript1/issues/2171)) ([4edb9cf](https://github.com/applitools/eyes.sdk.javascript1/commit/4edb9cfb27d8db2ff4cb09c8ebf1b95ab020633d))
36
+
37
+
38
+
39
+ * @applitools/screenshoter bumped to 3.8.23
40
+
41
+ * @applitools/nml-client bumped to 1.7.0
42
+ #### Features
43
+
44
+ * add support for regions and calculated regions ([#2161](https://github.com/applitools/eyes.sdk.javascript1/issues/2161)) ([fea4b1f](https://github.com/applitools/eyes.sdk.javascript1/commit/fea4b1fca3d8f59eada2b5186cd32d47352ccf1a))
45
+
46
+
47
+ #### Bug Fixes
48
+
49
+ * missing viewport when using system screenshot and multi viewport ([#2173](https://github.com/applitools/eyes.sdk.javascript1/issues/2173)) ([411283c](https://github.com/applitools/eyes.sdk.javascript1/commit/411283c7bebc09f178d73b6b47e81e5ce4244d5e))
50
+
51
+
52
+
53
+ * @applitools/ec-client bumped to 1.7.25
54
+
55
+ * @applitools/eyes bumped to 1.14.0
56
+ #### Features
57
+
58
+ * add Eyes.getResults method ([#2046](https://github.com/applitools/eyes.sdk.javascript1/issues/2046)) ([#2069](https://github.com/applitools/eyes.sdk.javascript1/issues/2069)) ([4d263e1](https://github.com/applitools/eyes.sdk.javascript1/commit/4d263e19cb5e5708790a1a7ef90ff8f3eee50d91))
59
+ * added `enableEyesLogs` configuration to the eyes service ([639ca8a](https://github.com/applitools/eyes.sdk.javascript1/commit/639ca8a021008d06fc09d19ca58ac3d00a18e4c3))
60
+ * added `useExecutionCloud` configuration to the eyes service ([#2033](https://github.com/applitools/eyes.sdk.javascript1/issues/2033)) ([639ca8a](https://github.com/applitools/eyes.sdk.javascript1/commit/639ca8a021008d06fc09d19ca58ac3d00a18e4c3))
61
+ * generate more enums ([#2179](https://github.com/applitools/eyes.sdk.javascript1/issues/2179)) ([5f4f916](https://github.com/applitools/eyes.sdk.javascript1/commit/5f4f91621b791a02464191123f69b12f590b9efe))
62
+
63
+
64
+ #### Bug Fixes
65
+
66
+ * error to unknown type in exception ([#2035](https://github.com/applitools/eyes.sdk.javascript1/issues/2035)) ([16d78c3](https://github.com/applitools/eyes.sdk.javascript1/commit/16d78c3cce90a5cb50cc2aa4e9ab6a58b7b93f89))
67
+ * fixed `serverUrl` configuration propagation ([247b7d8](https://github.com/applitools/eyes.sdk.javascript1/commit/247b7d88853dd1a9068d2d963582ad795752ace4))
68
+ * fixed default value in `useSystemScreenshot` method of check settings ([42a773c](https://github.com/applitools/eyes.sdk.javascript1/commit/42a773cc57e8e5de528a049b376159615892003b))
69
+ * fixed issue when w3c properties were added to legacy capabilities object in `Eyes.setMobileCapabilities` method ([94d785f](https://github.com/applitools/eyes.sdk.javascript1/commit/94d785f0428df101c207d6f09a55c46f2bdbf19e))
70
+
71
+
72
+ #### Code Refactoring
73
+
74
+ * disallow usage of global Buffer ([#1957](https://github.com/applitools/eyes.sdk.javascript1/issues/1957)) ([adcc082](https://github.com/applitools/eyes.sdk.javascript1/commit/adcc082f20f6b92e819b96424e995d9a69d99758))
75
+
76
+
77
+
78
+
79
+ ## [1.0.6](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-browser@1.0.5...js/eyes-browser@1.0.6) (2024-01-30)
80
+
81
+
82
+ ### Dependencies
83
+
84
+ * @applitools/snippets bumped to 2.4.25
85
+ #### Bug Fixes
86
+
87
+ * losing root context after layout breakpoints reload ([#2113](https://github.com/applitools/eyes.sdk.javascript1/issues/2113)) ([afa1473](https://github.com/applitools/eyes.sdk.javascript1/commit/afa14735e5539ab0f79aa610e6ec1ea8989a5922))
88
+ * @applitools/spec-driver-webdriver bumped to 1.0.55
89
+
90
+ * @applitools/spec-driver-selenium bumped to 1.5.69
91
+
92
+ * @applitools/spec-driver-puppeteer bumped to 1.3.5
93
+
94
+ * @applitools/driver bumped to 1.16.2
95
+ #### Bug Fixes
96
+
97
+ * losing root context after layout breakpoints reload ([#2113](https://github.com/applitools/eyes.sdk.javascript1/issues/2113)) ([afa1473](https://github.com/applitools/eyes.sdk.javascript1/commit/afa14735e5539ab0f79aa610e6ec1ea8989a5922))
98
+
99
+
100
+
101
+ * @applitools/core bumped to 4.7.0
102
+ #### Features
103
+
104
+ * added support of proxy server url env var ([#2159](https://github.com/applitools/eyes.sdk.javascript1/issues/2159)) ([2f69c3d](https://github.com/applitools/eyes.sdk.javascript1/commit/2f69c3d37d7af9be1f459fd3d5f41b361161b5bf))
105
+
106
+
107
+ #### Bug Fixes
108
+
109
+ * losing root context after layout breakpoints reload ([#2113](https://github.com/applitools/eyes.sdk.javascript1/issues/2113)) ([afa1473](https://github.com/applitools/eyes.sdk.javascript1/commit/afa14735e5539ab0f79aa610e6ec1ea8989a5922))
110
+
111
+
112
+
113
+ * @applitools/screenshoter bumped to 3.8.21
114
+
115
+ * @applitools/nml-client bumped to 1.6.5
116
+
117
+ * @applitools/ec-client bumped to 1.7.23
118
+
119
+ * @applitools/eyes bumped to 1.13.6
120
+
121
+
3
122
  ## [1.0.5](https://github.com/applitools/eyes.sdk.javascript1/compare/js/eyes-browser@1.0.4...js/eyes-browser@1.0.5) (2024-01-16)
4
123
 
5
124
 
package/dist/index.js CHANGED
@@ -21060,25 +21060,34 @@ var require_extract_branching_timestamp = __commonJS({
21060
21060
  Object.defineProperty(exports, "__esModule", { value: true });
21061
21061
  exports.extractBranchingTimestamp = void 0;
21062
21062
  var utils34 = __importStar(require_browser3());
21063
+ var logger_1 = require_browser6();
21063
21064
  exports.extractBranchingTimestamp = utils34.general.cachify(extractGitBranchingTimestamp);
21064
- async function extractGitBranchingTimestamp({ branchName, parentBranchName }, options) {
21065
+ async function extractGitBranchingTimestamp({ branchName, parentBranchName, execOptions, logger = (0, logger_1.makeLogger)() }) {
21065
21066
  var _a;
21067
+ logger = logger.extend({ tags: [`extract-branching-timestamp-${utils34.general.shortid()}`] });
21066
21068
  const command = `HASH=$(git merge-base ${branchName} ${parentBranchName}) && git show -q --format=%cI $HASH`;
21067
- let result = await utils34.process.execute(command, options);
21069
+ let result = await executeWithLog(command);
21068
21070
  if (result.stderr) {
21069
21071
  const [, missingBranch] = (_a = result.stderr.match(/Not a valid object name ([^\s]+)/)) !== null && _a !== void 0 ? _a : [];
21070
21072
  if (missingBranch) {
21071
- result = await utils34.process.execute(`git fetch origin ${missingBranch}:${missingBranch} && ${command}`, options);
21073
+ result = await executeWithLog(`git fetch origin ${missingBranch}:${missingBranch} && ${command}`);
21072
21074
  }
21073
21075
  }
21074
21076
  if (!result.stdout) {
21075
- result = await utils34.process.execute(`git fetch origin --unshallow && ${command}`, options);
21077
+ result = await executeWithLog(`git fetch origin --unshallow && ${command}`);
21076
21078
  }
21077
21079
  const timestamp = result.stdout.replace(/\s/g, "");
21078
21080
  if (!/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}:\d{2}/.test(timestamp)) {
21079
21081
  throw new Error(`stderr: ${result.stderr}, stdout: ${result.stdout}`);
21080
21082
  }
21081
21083
  return timestamp;
21084
+ async function executeWithLog(command2) {
21085
+ logger.log(`executing command: ${command2}`);
21086
+ const result2 = await utils34.process.execute(command2, execOptions);
21087
+ if (result2.stderr && result2.code)
21088
+ logger.log(`exit code: ${result2.code}, stderr: ${result2.stderr}`);
21089
+ return result2;
21090
+ }
21082
21091
  }
21083
21092
  }
21084
21093
  });
@@ -27809,7 +27818,12 @@ var require_open_eyes = __commonJS({
27809
27818
  parentBranchName = branches.parentBranchName;
27810
27819
  }
27811
27820
  if (branchName && parentBranchName && branchName !== parentBranchName) {
27812
- settings.gitBranchingTimestamp = await (0, extract_branching_timestamp_1.extractBranchingTimestamp)({ branchName, parentBranchName }, { cwd });
27821
+ settings.gitBranchingTimestamp = await (0, extract_branching_timestamp_1.extractBranchingTimestamp)({
27822
+ branchName,
27823
+ parentBranchName,
27824
+ execOptions: { cwd },
27825
+ logger
27826
+ });
27813
27827
  logger.log("Branching timestamp successfully extracted", settings.gitBranchingTimestamp);
27814
27828
  }
27815
27829
  } catch (err) {
@@ -28713,7 +28727,7 @@ var require_dist3 = __commonJS({
28713
28727
  return t(function() {
28714
28728
  var t2, n, r;
28715
28729
  try {
28716
- t2 = window.top.document === window.document || "root-context" === window.document["applitools-marker"];
28730
+ t2 = window.top.document === window.document || "root-context" === window.parent.document["applitools-marker"];
28717
28731
  } catch (e2) {
28718
28732
  t2 = false;
28719
28733
  }
@@ -31776,7 +31790,10 @@ var require_driver = __commonJS({
31776
31790
  this._currentContext = context;
31777
31791
  }
31778
31792
  async reloadPage() {
31779
- await this.mainContext.execute(snippets.reloadPage).catch(() => null);
31793
+ if (this._spec.reload)
31794
+ await this._spec.reload(this.target);
31795
+ else
31796
+ await this.mainContext.execute(snippets.reloadPage).catch(() => null);
31780
31797
  const refreshThis = await this.refresh({ reset: false });
31781
31798
  const scrollingElement = await this.mainContext.getScrollingElement();
31782
31799
  await (scrollingElement === null || scrollingElement === void 0 ? void 0 : scrollingElement.refresh());
@@ -32618,6 +32635,59 @@ var require_set_viewport_size = __commonJS({
32618
32635
  }
32619
32636
  });
32620
32637
 
32638
+ // ../core/dist/utils/populate-eyes-server-settings.js
32639
+ var require_populate_eyes_server_settings = __commonJS({
32640
+ "../core/dist/utils/populate-eyes-server-settings.js"(exports) {
32641
+ "use strict";
32642
+ init_process();
32643
+ init_setImmediate();
32644
+ init_buffer();
32645
+ var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
32646
+ if (k2 === void 0)
32647
+ k2 = k;
32648
+ var desc = Object.getOwnPropertyDescriptor(m, k);
32649
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32650
+ desc = { enumerable: true, get: function() {
32651
+ return m[k];
32652
+ } };
32653
+ }
32654
+ Object.defineProperty(o, k2, desc);
32655
+ } : function(o, m, k, k2) {
32656
+ if (k2 === void 0)
32657
+ k2 = k;
32658
+ o[k2] = m[k];
32659
+ });
32660
+ var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
32661
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32662
+ } : function(o, v) {
32663
+ o["default"] = v;
32664
+ });
32665
+ var __importStar = exports && exports.__importStar || function(mod) {
32666
+ if (mod && mod.__esModule)
32667
+ return mod;
32668
+ var result = {};
32669
+ if (mod != null) {
32670
+ for (var k in mod)
32671
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
32672
+ __createBinding(result, mod, k);
32673
+ }
32674
+ __setModuleDefault(result, mod);
32675
+ return result;
32676
+ };
32677
+ Object.defineProperty(exports, "__esModule", { value: true });
32678
+ exports.populateEyesServerSettings = void 0;
32679
+ var utils34 = __importStar(require_browser3());
32680
+ function populateEyesServerSettings(settings) {
32681
+ var _a, _b, _c, _d, _e, _f;
32682
+ (_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : settings.eyesServerUrl = (_c = (_b = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _b !== void 0 ? _b : utils34.general.getEnvValue("SERVER_URL")) !== null && _c !== void 0 ? _c : "https://eyesapi.applitools.com";
32683
+ (_d = settings.apiKey) !== null && _d !== void 0 ? _d : settings.apiKey = utils34.general.getEnvValue("API_KEY");
32684
+ (_e = settings.proxy) !== null && _e !== void 0 ? _e : settings.proxy = utils34.general.getEnvValue("PROXY_URL") ? { url: utils34.general.getEnvValue("PROXY_URL") } : void 0;
32685
+ (_f = settings.useDnsCache) !== null && _f !== void 0 ? _f : settings.useDnsCache = utils34.general.getEnvValue("USE_DNS_CACHE", "boolean");
32686
+ }
32687
+ exports.populateEyesServerSettings = populateEyesServerSettings;
32688
+ }
32689
+ });
32690
+
32621
32691
  // ../core/dist/get-account-info.js
32622
32692
  var require_get_account_info2 = __commonJS({
32623
32693
  "../core/dist/get-account-info.js"(exports) {
@@ -32659,13 +32729,12 @@ var require_get_account_info2 = __commonJS({
32659
32729
  };
32660
32730
  Object.defineProperty(exports, "__esModule", { value: true });
32661
32731
  exports.makeGetAccountInfo = void 0;
32732
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
32662
32733
  var utils34 = __importStar(require_browser3());
32663
32734
  function makeGetAccountInfo({ core, logger: mainLogger }) {
32664
32735
  return async function getAccountInfo({ settings, logger = mainLogger }) {
32665
- var _a, _b, _c, _d;
32666
32736
  logger = logger.extend(mainLogger, { tags: [`get-account-info-${utils34.general.shortid()}`] });
32667
- (_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : settings.eyesServerUrl = (_c = (_b = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _b !== void 0 ? _b : utils34.general.getEnvValue("SERVER_URL")) !== null && _c !== void 0 ? _c : "https://eyesapi.applitools.com";
32668
- (_d = settings.apiKey) !== null && _d !== void 0 ? _d : settings.apiKey = utils34.general.getEnvValue("API_KEY");
32737
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
32669
32738
  return core.base.getAccountInfo({ settings, logger });
32670
32739
  };
32671
32740
  }
@@ -32794,9 +32863,9 @@ var require_req_broker = __commonJS({
32794
32863
  }
32795
32864
  });
32796
32865
 
32797
- // ../nml-client/dist/server/requests.js
32798
- var require_requests2 = __commonJS({
32799
- "../nml-client/dist/server/requests.js"(exports) {
32866
+ // ../nml-client/dist/utils/get-environments-info.js
32867
+ var require_get_environments_info = __commonJS({
32868
+ "../nml-client/dist/utils/get-environments-info.js"(exports) {
32800
32869
  "use strict";
32801
32870
  init_process();
32802
32871
  init_setImmediate();
@@ -32837,50 +32906,129 @@ var require_requests2 = __commonJS({
32837
32906
  return mod && mod.__esModule ? mod : { "default": mod };
32838
32907
  };
32839
32908
  Object.defineProperty(exports, "__esModule", { value: true });
32909
+ exports.getNMLEnvironmentsInfo = void 0;
32910
+ var utils34 = __importStar(require_browser3());
32911
+ var req_1 = __importDefault((init_dist(), __toCommonJS(dist_exports)));
32912
+ var getNMLSupportedEnvironmentsWithCache = utils34.general.cachify(getNMLSupportedEnvironments);
32913
+ async function getNMLSupportedEnvironments({ supportedEnvironmentsUrl, proxy }) {
32914
+ const response = await (0, req_1.default)(supportedEnvironmentsUrl, { proxy });
32915
+ const result = await response.json();
32916
+ return result;
32917
+ }
32918
+ async function getNMLEnvironmentsInfo({ environments, supportedEnvironmentsUrl, proxy, logger: _logger }) {
32919
+ const supportedEnvironments = await getNMLSupportedEnvironmentsWithCache({ supportedEnvironmentsUrl, proxy });
32920
+ return environments.reduce((result, environment) => {
32921
+ var _a;
32922
+ if (!utils34.types.has(environment, "iosDeviceInfo") && !utils34.types.has(environment, "androidDeviceInfo")) {
32923
+ result.localEnvironment = environment;
32924
+ } else {
32925
+ const deviceInfo = utils34.types.has(environment, "iosDeviceInfo") ? environment.iosDeviceInfo : environment.androidDeviceInfo;
32926
+ const orientation = deviceInfo.screenOrientation === "landscape" ? "landscapeLeft" : (_a = deviceInfo.screenOrientation) !== null && _a !== void 0 ? _a : "portrait";
32927
+ const rawEnvironment = supportedEnvironments[deviceInfo.deviceName][orientation].env;
32928
+ result.renderEnvironments.push({
32929
+ requested: environment,
32930
+ environmentId: utils34.general.guid(),
32931
+ deviceName: rawEnvironment.deviceInfo,
32932
+ os: rawEnvironment.os + (deviceInfo.version ? ` ${deviceInfo.version}` : ""),
32933
+ viewportSize: rawEnvironment.displaySize
32934
+ });
32935
+ result.environmentSettings.push({ ...supportedEnvironments[deviceInfo.deviceName], orientation });
32936
+ }
32937
+ return result;
32938
+ }, {
32939
+ localEnvironment: void 0,
32940
+ renderEnvironments: [],
32941
+ environmentSettings: []
32942
+ });
32943
+ }
32944
+ exports.getNMLEnvironmentsInfo = getNMLEnvironmentsInfo;
32945
+ }
32946
+ });
32947
+
32948
+ // ../nml-client/dist/server/requests.js
32949
+ var require_requests2 = __commonJS({
32950
+ "../nml-client/dist/server/requests.js"(exports) {
32951
+ "use strict";
32952
+ init_process();
32953
+ init_setImmediate();
32954
+ init_buffer();
32955
+ var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
32956
+ if (k2 === void 0)
32957
+ k2 = k;
32958
+ var desc = Object.getOwnPropertyDescriptor(m, k);
32959
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32960
+ desc = { enumerable: true, get: function() {
32961
+ return m[k];
32962
+ } };
32963
+ }
32964
+ Object.defineProperty(o, k2, desc);
32965
+ } : function(o, m, k, k2) {
32966
+ if (k2 === void 0)
32967
+ k2 = k;
32968
+ o[k2] = m[k];
32969
+ });
32970
+ var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
32971
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32972
+ } : function(o, v) {
32973
+ o["default"] = v;
32974
+ });
32975
+ var __importStar = exports && exports.__importStar || function(mod) {
32976
+ if (mod && mod.__esModule)
32977
+ return mod;
32978
+ var result = {};
32979
+ if (mod != null) {
32980
+ for (var k in mod)
32981
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
32982
+ __createBinding(result, mod, k);
32983
+ }
32984
+ __setModuleDefault(result, mod);
32985
+ return result;
32986
+ };
32987
+ Object.defineProperty(exports, "__esModule", { value: true });
32840
32988
  exports.makeNMLRequests = void 0;
32841
32989
  var req_broker_1 = require_req_broker();
32842
- var req_1 = __importDefault((init_dist(), __toCommonJS(dist_exports)));
32843
32990
  var utils34 = __importStar(require_browser3());
32991
+ var get_environments_info_1 = require_get_environments_info();
32844
32992
  function makeNMLRequests({ settings, logger: mainLogger }) {
32845
32993
  let brokerUrl = settings.brokerUrl;
32994
+ const supportedEnvironmentsUrl = settings.supportedEnvironmentsUrl;
32995
+ const proxy = settings.proxy;
32846
32996
  const req2 = (0, req_broker_1.makeReqBroker)({ settings, logger: mainLogger });
32847
- const getSupportedEnvironmentsWithCache = utils34.general.cachify(getSupportedEnvironments, () => "default");
32848
32997
  return {
32849
- getSupportedEnvironments: getSupportedEnvironmentsWithCache,
32998
+ preTakeScreenshot,
32850
32999
  takeScreenshots,
32851
33000
  takeSnapshots
32852
33001
  };
32853
- async function getSupportedEnvironments({ logger: _logger }) {
32854
- const response = await (0, req_1.default)(settings.supportedEnvironmentsUrl);
33002
+ async function preTakeScreenshot({ logger = mainLogger } = {}) {
33003
+ var _a;
33004
+ logger = logger.extend(mainLogger, { tags: [`nml-request-${utils34.general.shortid()}`] });
33005
+ logger.log('Request "preTakeScreenshot" called');
33006
+ const response = await req2(brokerUrl, {
33007
+ name: "PRE_TAKE_SCREENSHOT",
33008
+ body: {
33009
+ protocolVersion: "1.0",
33010
+ name: "PRE_TAKE_SCREENSHOT",
33011
+ key: utils34.general.guid(),
33012
+ payload: {}
33013
+ },
33014
+ logger
33015
+ });
32855
33016
  const result = await response.json();
32856
- return result;
33017
+ if (((_a = result === null || result === void 0 ? void 0 : result.payload) === null || _a === void 0 ? void 0 : _a.result) === "success")
33018
+ logger.log('Request "preTakeScreenshot" finished successfully with body', result.payload);
33019
+ else
33020
+ throw new Error(`There was a problem in pre take screenshot. The provided error message was "${result}"`);
33021
+ brokerUrl = result.nextPath;
32857
33022
  }
32858
33023
  async function takeScreenshots({ settings: settings2, logger = mainLogger }) {
33024
+ var _a, _b;
32859
33025
  logger = logger.extend(mainLogger, { tags: [`nml-request-${utils34.general.shortid()}`] });
32860
33026
  logger.log('Request "takeScreenshots" called with settings', settings2);
32861
- const supportedEnvironments = await getSupportedEnvironmentsWithCache({ logger });
32862
- const { localEnvironment, renderEnvironments, environmentSettings } = settings2.environments.reduce((result, environment) => {
32863
- var _a;
32864
- if (!utils34.types.has(environment, "iosDeviceInfo") && !utils34.types.has(environment, "androidDeviceInfo")) {
32865
- result.localEnvironment = environment;
32866
- } else {
32867
- const deviceInfo = utils34.types.has(environment, "iosDeviceInfo") ? environment.iosDeviceInfo : environment.androidDeviceInfo;
32868
- const orientation = deviceInfo.screenOrientation === "landscape" ? "landscapeLeft" : (_a = deviceInfo.screenOrientation) !== null && _a !== void 0 ? _a : "portrait";
32869
- const rawEnvironment = supportedEnvironments[deviceInfo.deviceName][orientation].env;
32870
- result.renderEnvironments.push({
32871
- requested: environment,
32872
- environmentId: utils34.general.guid(),
32873
- deviceName: rawEnvironment.deviceInfo,
32874
- os: rawEnvironment.os + (deviceInfo.version ? ` ${deviceInfo.version}` : ""),
32875
- viewportSize: rawEnvironment.displaySize
32876
- });
32877
- result.environmentSettings.push({ ...supportedEnvironments[deviceInfo.deviceName], orientation });
32878
- }
32879
- return result;
32880
- }, {
32881
- localEnvironment: void 0,
32882
- renderEnvironments: [],
32883
- environmentSettings: []
33027
+ const { localEnvironment, renderEnvironments, environmentSettings } = await (0, get_environments_info_1.getNMLEnvironmentsInfo)({
33028
+ environments: settings2.environments,
33029
+ supportedEnvironmentsUrl,
33030
+ proxy,
33031
+ logger
32884
33032
  });
32885
33033
  try {
32886
33034
  const response = await req2(brokerUrl, {
@@ -32892,7 +33040,10 @@ var require_requests2 = __commonJS({
32892
33040
  payload: {
32893
33041
  ...settings2,
32894
33042
  environments: void 0,
32895
- deviceList: !localEnvironment ? environmentSettings : void 0
33043
+ deviceList: !localEnvironment ? environmentSettings : void 0,
33044
+ scrollRootElement: fallbackId(settings2.scrollRootElement),
33045
+ region: fallbackId(settings2.region),
33046
+ selectorsToFindRegionsFor: (_a = settings2.selectorsToFindRegionsFor) === null || _a === void 0 ? void 0 : _a.map((selector) => fallbackId(selector))
32896
33047
  }
32897
33048
  },
32898
33049
  logger
@@ -32902,11 +33053,22 @@ var require_requests2 = __commonJS({
32902
33053
  let screenshots;
32903
33054
  if (Number(result.protocolVersion) >= 2) {
32904
33055
  logger.log(`Request "takeScreenshots" was performed on applitools lib v${result.nmlVersion} through protocol v${result.protocolVersion} on device`, result.payload.debugInfo);
32905
- screenshots = localEnvironment ? [{ image: result.payload.result[0].result.screenshotUrl, environment: localEnvironment }] : renderEnvironments.map((environment, index) => {
33056
+ screenshots = localEnvironment ? [
33057
+ {
33058
+ image: result.payload.result[0].result.screenshotUrl,
33059
+ environment: localEnvironment,
33060
+ calculateRegions: (_b = result.payload.result[0].result) === null || _b === void 0 ? void 0 : _b.selectorRegions
33061
+ }
33062
+ ] : renderEnvironments.map((environment, index) => {
33063
+ var _a2;
32906
33064
  if (result.payload.result[index].error) {
32907
33065
  throw new Error(`There was a problem in taking screenshot for environment ${JSON.stringify(environment)}. The provided error message was "${result.payload.result[index].error.message}" and had a stack trace of "${result.payload.result[index].error.stack}"`);
32908
33066
  }
32909
- return { image: result.payload.result[index].result.screenshotUrl, environment };
33067
+ return {
33068
+ image: result.payload.result[index].result.screenshotUrl,
33069
+ calculateRegions: (_a2 = result.payload.result[index].result) === null || _a2 === void 0 ? void 0 : _a2.selectorRegions,
33070
+ environment
33071
+ };
32910
33072
  });
32911
33073
  } else {
32912
33074
  screenshots = localEnvironment ? [{ image: result.payload.result.screenshotUrl, environment: localEnvironment }] : renderEnvironments.map((environment, index) => {
@@ -32920,6 +33082,9 @@ var require_requests2 = __commonJS({
32920
33082
  brokerUrl = error.nextPath;
32921
33083
  throw error;
32922
33084
  }
33085
+ function fallbackId(selector) {
33086
+ return utils34.types.isString(selector) ? { type: "accessibility-identifier", selector } : selector;
33087
+ }
32923
33088
  }
32924
33089
  async function takeSnapshots({ settings: settings2, logger = mainLogger }) {
32925
33090
  try {
@@ -32997,6 +33162,24 @@ var require_take_screenshots = __commonJS({
32997
33162
  }
32998
33163
  });
32999
33164
 
33165
+ // ../nml-client/dist/pre-take-screenshot.js
33166
+ var require_pre_take_screenshot = __commonJS({
33167
+ "../nml-client/dist/pre-take-screenshot.js"(exports) {
33168
+ "use strict";
33169
+ init_process();
33170
+ init_setImmediate();
33171
+ init_buffer();
33172
+ Object.defineProperty(exports, "__esModule", { value: true });
33173
+ exports.makePreTakeScreenshot = void 0;
33174
+ function makePreTakeScreenshot({ requests, logger: defaultLogger }) {
33175
+ return async function preTakeScreenshot({ logger = defaultLogger }) {
33176
+ return requests.preTakeScreenshot({ logger });
33177
+ };
33178
+ }
33179
+ exports.makePreTakeScreenshot = makePreTakeScreenshot;
33180
+ }
33181
+ });
33182
+
33000
33183
  // ../nml-client/dist/client.js
33001
33184
  var require_client = __commonJS({
33002
33185
  "../nml-client/dist/client.js"(exports) {
@@ -33010,13 +33193,14 @@ var require_client = __commonJS({
33010
33193
  var requests_1 = require_requests2();
33011
33194
  var take_snapshots_1 = require_take_snapshots();
33012
33195
  var take_screenshots_1 = require_take_screenshots();
33196
+ var pre_take_screenshot_1 = require_pre_take_screenshot();
33013
33197
  function makeNMLClient({ settings, logger: defaultLogger }) {
33014
33198
  const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: "nml-client" } });
33015
33199
  const requests = (0, requests_1.makeNMLRequests)({ settings, logger });
33016
33200
  return {
33201
+ preTakeScreenshot: (0, pre_take_screenshot_1.makePreTakeScreenshot)({ requests, logger }),
33017
33202
  takeScreenshots: (0, take_screenshots_1.makeTakeScreenshots)({ requests, logger }),
33018
- takeSnapshots: (0, take_snapshots_1.makeTakeSnapshots)({ requests, logger }),
33019
- getSupportedEnvironments: requests.getSupportedEnvironments
33203
+ takeSnapshots: (0, take_snapshots_1.makeTakeSnapshots)({ requests, logger })
33020
33204
  };
33021
33205
  }
33022
33206
  exports.makeNMLClient = makeNMLClient;
@@ -33065,6 +33249,7 @@ var require_dist5 = __commonJS({
33065
33249
  __exportStar(require_client(), exports);
33066
33250
  __exportStar(require_types7(), exports);
33067
33251
  __exportStar(require_requests2(), exports);
33252
+ __exportStar(require_get_environments_info(), exports);
33068
33253
  }
33069
33254
  });
33070
33255
 
@@ -35678,10 +35863,70 @@ var require_to_base_check_settings = __commonJS({
35678
35863
  return result;
35679
35864
  };
35680
35865
  Object.defineProperty(exports, "__esModule", { value: true });
35681
- exports.toBaseCheckSettings = void 0;
35866
+ exports.toBaseCheckSettings = exports.extractMobileElementsIntoCheckSettings = exports.hasCodedRegions = void 0;
35682
35867
  var utils34 = __importStar(require_browser3());
35868
+ var regionTypes = ["ignore", "layout", "strict", "content", "floating", "accessibility"];
35869
+ function hasCodedRegions(settings) {
35870
+ for (const regionType of regionTypes) {
35871
+ if (settings[`${regionType}Regions`])
35872
+ return true;
35873
+ }
35874
+ return false;
35875
+ }
35876
+ exports.hasCodedRegions = hasCodedRegions;
35877
+ async function extractMobileElementsIntoCheckSettings({ settings, driver, logger }) {
35878
+ logger = logger.extend({ tags: [`extract-mobile-elements-${utils34.general.shortid()}`] });
35879
+ if (settings.region) {
35880
+ logger.log("extract element form region", settings.region);
35881
+ const region = await driver.element(settings.region).catch((error) => logger.log(error));
35882
+ if (!region) {
35883
+ throw new Error("region not found");
35884
+ }
35885
+ settings.region = await (region === null || region === void 0 ? void 0 : region.getAttribute("name"));
35886
+ }
35887
+ if (settings.scrollRootElement) {
35888
+ logger.log("extract element form scrollRootElement", settings.scrollRootElement);
35889
+ const scrollRootElement = await driver.element(settings.scrollRootElement).catch((error) => logger.log(error));
35890
+ if (!scrollRootElement) {
35891
+ throw new Error("scrollRootElement not found");
35892
+ }
35893
+ settings.scrollRootElement = await scrollRootElement.getAttribute("name");
35894
+ }
35895
+ const codedRegionsAsElement = await regionTypes.reduce(async (promise, regionType) => {
35896
+ var _a, _b;
35897
+ const obj = await promise;
35898
+ if (!settings[`${regionType}Regions`])
35899
+ return obj;
35900
+ obj[`${regionType}Regions`] = (await Promise.all((_b = (_a = settings[`${regionType}Regions`]) === null || _a === void 0 ? void 0 : _a.flatMap(async (reference) => {
35901
+ logger.log("extract element form region", reference);
35902
+ const { region } = utils34.types.has(reference, "region") ? reference : { region: reference };
35903
+ const handleRegion = /* @__PURE__ */ new Set();
35904
+ const elements = await driver.elements(region).catch((error) => logger.log(error));
35905
+ if (!elements)
35906
+ return [];
35907
+ return elements === null || elements === void 0 ? void 0 : elements.reduce(async (promise2, element) => {
35908
+ const arr = await promise2;
35909
+ const name = await element.getAttribute("name");
35910
+ if (handleRegion.has(name))
35911
+ return arr;
35912
+ handleRegion.add(name);
35913
+ return arr.concat({
35914
+ region: {
35915
+ name,
35916
+ reference: region
35917
+ }
35918
+ });
35919
+ }, Promise.resolve([]));
35920
+ })) !== null && _b !== void 0 ? _b : [])).flat();
35921
+ return obj;
35922
+ }, Promise.resolve({}));
35923
+ return {
35924
+ ...settings,
35925
+ ...codedRegionsAsElement
35926
+ };
35927
+ }
35928
+ exports.extractMobileElementsIntoCheckSettings = extractMobileElementsIntoCheckSettings;
35683
35929
  function toBaseCheckSettings({ settings }) {
35684
- const regionTypes = ["ignore", "layout", "strict", "content", "floating", "accessibility"];
35685
35930
  const calculate = regionTypes.flatMap((regionType) => {
35686
35931
  var _a;
35687
35932
  return ((_a = settings[`${regionType}Regions`]) !== null && _a !== void 0 ? _a : []).reduce((regions, reference) => {
@@ -35894,6 +36139,7 @@ var require_check2 = __commonJS({
35894
36139
  };
35895
36140
  Object.defineProperty(exports, "__esModule", { value: true });
35896
36141
  exports.makeCheck = void 0;
36142
+ var nml_client_1 = require_dist5();
35897
36143
  var driver_1 = require_dist4();
35898
36144
  var take_screenshots_1 = require_take_screenshots2();
35899
36145
  var to_base_check_settings_1 = require_to_base_check_settings();
@@ -35940,20 +36186,30 @@ var require_check2 = __commonJS({
35940
36186
  logger
35941
36187
  });
35942
36188
  }
35943
- const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
35944
36189
  if (driverEnvironment.isWeb || !((_c = driverEnvironment.applitoolsLib) === null || _c === void 0 ? void 0 : _c.instrumented) || settings.screenshotMode === "default") {
36190
+ let actualEnvironments = uniqueEnvironments;
36191
+ if (settings.screenshotMode === "default") {
36192
+ const { localEnvironment, renderEnvironments } = await (0, nml_client_1.getNMLEnvironmentsInfo)({
36193
+ environments: uniqueEnvironments,
36194
+ supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl,
36195
+ proxy: eyes.test.eyesServer.proxy,
36196
+ logger
36197
+ });
36198
+ actualEnvironments = localEnvironment ? [localEnvironment] : renderEnvironments;
36199
+ }
36200
+ const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
35945
36201
  const screenshots = await (0, take_screenshots_1.takeScreenshots)({
35946
36202
  driver,
35947
36203
  settings: {
35948
36204
  ...settings,
35949
- environments: uniqueEnvironments,
36205
+ environments: actualEnvironments,
35950
36206
  regionsToCalculate: elementReferences.calculate,
35951
36207
  calculateView: !!settings.pageId,
35952
36208
  domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : void 0
35953
36209
  },
35954
36210
  logger
35955
36211
  });
35956
- exactEnvironments.push(...uniqueEnvironments);
36212
+ exactEnvironments.push(...actualEnvironments);
35957
36213
  screenshots.forEach(({ calculatedRegions, ...baseTarget }) => {
35958
36214
  baseTargets.push(baseTarget);
35959
36215
  baseSettings.push(getBaseCheckSettings({ calculatedRegions }));
@@ -35971,6 +36227,15 @@ var require_check2 = __commonJS({
35971
36227
  settings: { ...eyes.test.eyesServer, supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl },
35972
36228
  logger
35973
36229
  });
36230
+ if (settings.scrollRootElement || settings.region || (0, to_base_check_settings_1.hasCodedRegions)(settings))
36231
+ await nmlClient.preTakeScreenshot({ logger });
36232
+ const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({
36233
+ settings: {
36234
+ ...settings,
36235
+ ...await (0, to_base_check_settings_1.extractMobileElementsIntoCheckSettings)({ settings, driver, logger })
36236
+ }
36237
+ });
36238
+ const calculate = elementReferences.calculate;
35974
36239
  const screenshots = await nmlClient.takeScreenshots({
35975
36240
  settings: {
35976
36241
  environments: uniqueEnvironments,
@@ -35982,14 +36247,28 @@ var require_check2 = __commonJS({
35982
36247
  waitBeforeCapture: settings.waitBeforeCapture,
35983
36248
  waitBetweenStitches: settings.waitBetweenStitches,
35984
36249
  lazyLoad: settings.lazyLoad,
35985
- name: settings.name
36250
+ name: settings.name,
36251
+ region: elementReferences.target,
36252
+ selectorsToFindRegionsFor: calculate.map(({ name }) => name),
36253
+ scrollRootElement: elementReferences.scrolling
35986
36254
  },
35987
36255
  logger
35988
36256
  });
35989
- screenshots.forEach(({ environment, ...baseTarget }) => {
36257
+ screenshots.forEach(({ environment, calculateRegions, ...baseTarget }) => {
36258
+ const aggregateCalculatedRegions = [];
36259
+ calculate.forEach(({ reference }, index) => {
36260
+ const regions = calculateRegions === null || calculateRegions === void 0 ? void 0 : calculateRegions[index];
36261
+ if (regions) {
36262
+ aggregateCalculatedRegions.push({ regions, selector: reference });
36263
+ } else {
36264
+ logger.log(`Regions "${reference}" was not found in the screenshot`);
36265
+ }
36266
+ });
35990
36267
  exactEnvironments.push(environment);
35991
36268
  baseTargets.push({ ...baseTarget, isTransformed: true });
35992
- baseSettings.push(getBaseCheckSettings({ calculatedRegions: [] }));
36269
+ baseSettings.push(getBaseCheckSettings({
36270
+ calculatedRegions: aggregateCalculatedRegions
36271
+ }));
35993
36272
  });
35994
36273
  }
35995
36274
  } else {
@@ -36089,6 +36368,7 @@ var require_check_and_close2 = __commonJS({
36089
36368
  };
36090
36369
  Object.defineProperty(exports, "__esModule", { value: true });
36091
36370
  exports.makeCheckAndClose = void 0;
36371
+ var nml_client_1 = require_dist5();
36092
36372
  var driver_1 = require_dist4();
36093
36373
  var take_screenshots_1 = require_take_screenshots2();
36094
36374
  var to_base_check_settings_1 = require_to_base_check_settings();
@@ -36137,18 +36417,35 @@ var require_check_and_close2 = __commonJS({
36137
36417
  }
36138
36418
  const { elementReferences, getBaseCheckSettings } = (0, to_base_check_settings_1.toBaseCheckSettings)({ settings });
36139
36419
  if (driverEnvironment.isWeb || !((_c = driverEnvironment.applitoolsLib) === null || _c === void 0 ? void 0 : _c.instrumented) || settings.screenshotMode === "default") {
36420
+ let actualEnvironments;
36421
+ if (settings.screenshotMode === "default") {
36422
+ if (!uniqueEnvironments.every((environment) => {
36423
+ return !utils34.types.has(environment, "iosDeviceInfo") && !utils34.types.has(environment, "androidDeviceInfo");
36424
+ })) {
36425
+ const nmlEnvironmentsInfo = await (0, nml_client_1.getNMLEnvironmentsInfo)({
36426
+ environments: uniqueEnvironments,
36427
+ supportedEnvironmentsUrl: eyes.test.supportedEnvironmentsUrl,
36428
+ proxy: eyes.test.eyesServer.proxy,
36429
+ logger
36430
+ });
36431
+ actualEnvironments = nmlEnvironmentsInfo.renderEnvironments;
36432
+ }
36433
+ }
36140
36434
  const screenshots = await (0, take_screenshots_1.takeScreenshots)({
36141
36435
  driver,
36142
36436
  settings: {
36143
36437
  ...settings,
36144
- environments: uniqueEnvironments,
36438
+ environments: actualEnvironments !== null && actualEnvironments !== void 0 ? actualEnvironments : uniqueEnvironments,
36145
36439
  regionsToCalculate: elementReferences.calculate,
36146
36440
  calculateView: !!settings.pageId,
36147
36441
  domSettings: settings.sendDom ? { proxy: eyes.test.eyesServer.proxy } : void 0
36148
36442
  },
36149
36443
  logger
36150
36444
  });
36151
- exactEnvironments.push(...uniqueEnvironments);
36445
+ if (actualEnvironments)
36446
+ exactEnvironments.push(...actualEnvironments);
36447
+ else
36448
+ exactEnvironments.push(...uniqueEnvironments);
36152
36449
  screenshots.forEach(({ calculatedRegions, ...baseTarget }) => {
36153
36450
  baseTargets.push(baseTarget);
36154
36451
  baseSettings.push(getBaseCheckSettings({ calculatedRegions }));
@@ -36686,14 +36983,13 @@ var require_locate3 = __commonJS({
36686
36983
  Object.defineProperty(exports, "__esModule", { value: true });
36687
36984
  exports.makeLocate = void 0;
36688
36985
  var core_1 = require_core2();
36986
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
36689
36987
  var utils34 = __importStar(require_browser3());
36690
36988
  function makeLocate({ spec, core, logger: mainLogger }) {
36691
36989
  return async function locate({ target, settings, config, logger = mainLogger }) {
36692
- var _a, _b, _c, _d;
36693
36990
  logger = logger.extend(mainLogger, { tags: [`locate-${utils34.general.shortid()}`] });
36694
36991
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
36695
- (_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : settings.eyesServerUrl = (_c = (_b = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _b !== void 0 ? _b : utils34.general.getEnvValue("SERVER_URL")) !== null && _c !== void 0 ? _c : "https://eyesapi.applitools.com";
36696
- (_d = settings.apiKey) !== null && _d !== void 0 ? _d : settings.apiKey = utils34.general.getEnvValue("API_KEY");
36992
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
36697
36993
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
36698
36994
  const results = await classicCore.locate({ target, settings, logger });
36699
36995
  return results;
@@ -36745,14 +37041,13 @@ var require_locate_text3 = __commonJS({
36745
37041
  Object.defineProperty(exports, "__esModule", { value: true });
36746
37042
  exports.makeLocateText = void 0;
36747
37043
  var core_1 = require_core2();
37044
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
36748
37045
  var utils34 = __importStar(require_browser3());
36749
37046
  function makeLocateText({ spec, core, logger: mainLogger }) {
36750
37047
  return async function locateText({ target, settings, config, logger = mainLogger }) {
36751
- var _a, _b, _c, _d;
36752
37048
  logger = logger.extend(mainLogger, { tags: [`locate-text-${utils34.general.shortid()}`] });
36753
37049
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
36754
- (_a = settings.eyesServerUrl) !== null && _a !== void 0 ? _a : settings.eyesServerUrl = (_c = (_b = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _b !== void 0 ? _b : utils34.general.getEnvValue("SERVER_URL")) !== null && _c !== void 0 ? _c : "https://eyesapi.applitools.com";
36755
- (_d = settings.apiKey) !== null && _d !== void 0 ? _d : settings.apiKey = utils34.general.getEnvValue("API_KEY");
37050
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
36756
37051
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
36757
37052
  const results = await classicCore.locateText({ target, settings, logger });
36758
37053
  return results;
@@ -36804,17 +37099,17 @@ var require_extract_text3 = __commonJS({
36804
37099
  Object.defineProperty(exports, "__esModule", { value: true });
36805
37100
  exports.makeExtractText = void 0;
36806
37101
  var core_1 = require_core2();
37102
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
36807
37103
  var utils34 = __importStar(require_browser3());
36808
37104
  function makeExtractText({ spec, core, logger: mainLogger }) {
36809
37105
  return async function extractText({ target, settings, config, logger = mainLogger }) {
36810
37106
  logger = logger.extend(mainLogger, { tags: [`extract-text-${utils34.general.shortid()}`] });
36811
37107
  settings = utils34.types.isArray(settings) ? settings : [settings];
36812
37108
  settings = settings.map((settings2) => {
36813
- var _a, _b, _c, _d, _e;
37109
+ var _a;
36814
37110
  settings2 = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings2 };
36815
37111
  (_a = settings2.userCommandId) !== null && _a !== void 0 ? _a : settings2.userCommandId = `extract-text--${utils34.general.guid()}`;
36816
- (_b = settings2.eyesServerUrl) !== null && _b !== void 0 ? _b : settings2.eyesServerUrl = (_d = (_c = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _c !== void 0 ? _c : utils34.general.getEnvValue("SERVER_URL")) !== null && _d !== void 0 ? _d : "https://eyesapi.applitools.com";
36817
- (_e = settings2.apiKey) !== null && _e !== void 0 ? _e : settings2.apiKey = utils34.general.getEnvValue("API_KEY");
37112
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings2);
36818
37113
  return settings2;
36819
37114
  });
36820
37115
  const classicCore = (0, core_1.makeCore)({ spec, base: core.base, logger });
@@ -82034,10 +82329,17 @@ creating temp style for access.`), r2 = Em(e4);
82034
82329
  }(t4))
82035
82330
  return Um(t4);
82036
82331
  }, rf = function(e4) {
82037
- return e4 && e4.replace(/(\\[0-9a-fA-F]{1,6}\s?)/g, (e5) => {
82038
- const t4 = parseInt(e5.substr(1).trim(), 16);
82039
- return String.fromCodePoint(t4);
82332
+ const t4 = e4 && e4.replace(/(\\[0-9a-fA-F]{1,6}\s?)/g, (e5) => {
82333
+ const t5 = parseInt(e5.substr(1).trim(), 16);
82334
+ try {
82335
+ return String.fromCodePoint(t5);
82336
+ } catch (t6) {
82337
+ if (t6 instanceof RangeError)
82338
+ return e5;
82339
+ throw t6;
82340
+ }
82040
82341
  }) || e4;
82342
+ return t4;
82041
82343
  }, of = um, af = yh, sf = hm, lf = cm, cf = function(e4) {
82042
82344
  return function() {
82043
82345
  const t4 = ["[dom-snapshot]", `[+${Date.now() - e4}ms]`].concat(Array.from(arguments));
@@ -82088,7 +82390,7 @@ creating temp style for access.`), r2 = Em(e4);
82088
82390
  function D2(e5) {
82089
82391
  return t5.defaultView && t5.defaultView.frameElement && t5.defaultView.frameElement.getAttribute(e5);
82090
82392
  }
82091
- }(t4).then((e4) => (u2("processPage end"), e4.scriptVersion = "4.7.16", e4));
82393
+ }(t4).then((e4) => (u2("processPage end"), e4.scriptVersion = "4.7.17", e4));
82092
82394
  };
82093
82395
  window[mf] = window[mf] || {};
82094
82396
  const bf = pf(gf, window[mf], ff);
@@ -83885,29 +84187,28 @@ var require_open_eyes4 = __commonJS({
83885
84187
  var close_1 = require_close3();
83886
84188
  var abort_1 = require_abort3();
83887
84189
  var get_eyes_results_1 = require_get_eyes_results();
84190
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
83888
84191
  var utils34 = __importStar(require_browser3());
83889
84192
  function makeOpenEyes({ type: defaultType = "classic", clients, batch, core, cores, spec, environment, logger: mainLogger, asyncCache }) {
83890
84193
  return async function openEyes({ type = defaultType, settings, config, target, logger = mainLogger }) {
83891
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
83892
- var _w, _x, _y, _z;
84194
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
84195
+ var _r, _s, _t, _u;
83893
84196
  logger = logger.extend(mainLogger, { tags: [`eyes-${type}-${utils34.general.shortid()}`] });
83894
84197
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...settings };
84198
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings);
83895
84199
  (_a = settings.userTestId) !== null && _a !== void 0 ? _a : settings.userTestId = `${settings.testName}--${utils34.general.guid()}`;
83896
- (_b = settings.eyesServerUrl) !== null && _b !== void 0 ? _b : settings.eyesServerUrl = (_d = (_c = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _c !== void 0 ? _c : utils34.general.getEnvValue("SERVER_URL")) !== null && _d !== void 0 ? _d : "https://eyesapi.applitools.com";
83897
- (_e = settings.apiKey) !== null && _e !== void 0 ? _e : settings.apiKey = utils34.general.getEnvValue("API_KEY");
83898
- (_f = settings.useDnsCache) !== null && _f !== void 0 ? _f : settings.useDnsCache = utils34.general.getEnvValue("USE_DNS_CACHE", "boolean");
83899
84200
  settings.batch = { ...batch, ...settings.batch };
83900
- (_g = (_w = settings.batch).id) !== null && _g !== void 0 ? _g : _w.id = (_h = utils34.general.getEnvValue("BATCH_ID")) !== null && _h !== void 0 ? _h : `generated-${utils34.general.guid()}`;
83901
- (_j = (_x = settings.batch).name) !== null && _j !== void 0 ? _j : _x.name = utils34.general.getEnvValue("BATCH_NAME");
83902
- (_k = (_y = settings.batch).sequenceName) !== null && _k !== void 0 ? _k : _y.sequenceName = utils34.general.getEnvValue("BATCH_SEQUENCE");
83903
- (_l = (_z = settings.batch).notifyOnCompletion) !== null && _l !== void 0 ? _l : _z.notifyOnCompletion = utils34.general.getEnvValue("BATCH_NOTIFY", "boolean");
83904
- (_m = settings.keepBatchOpen) !== null && _m !== void 0 ? _m : settings.keepBatchOpen = utils34.general.getEnvValue("DONT_CLOSE_BATCHES", "boolean");
83905
- (_o = settings.branchName) !== null && _o !== void 0 ? _o : settings.branchName = utils34.general.getEnvValue("BRANCH");
83906
- (_p = settings.parentBranchName) !== null && _p !== void 0 ? _p : settings.parentBranchName = utils34.general.getEnvValue("PARENT_BRANCH");
83907
- (_q = settings.baselineBranchName) !== null && _q !== void 0 ? _q : settings.baselineBranchName = utils34.general.getEnvValue("BASELINE_BRANCH");
83908
- (_r = settings.ufgServerUrl) !== null && _r !== void 0 ? _r : settings.ufgServerUrl = utils34.general.getEnvValue("UFG_SERVER_URL");
83909
- (_s = settings.ignoreBaseline) !== null && _s !== void 0 ? _s : settings.ignoreBaseline = false;
83910
- (_t = settings.compareWithParentBranch) !== null && _t !== void 0 ? _t : settings.compareWithParentBranch = false;
84201
+ (_b = (_r = settings.batch).id) !== null && _b !== void 0 ? _b : _r.id = (_c = utils34.general.getEnvValue("BATCH_ID")) !== null && _c !== void 0 ? _c : `generated-${utils34.general.guid()}`;
84202
+ (_d = (_s = settings.batch).name) !== null && _d !== void 0 ? _d : _s.name = utils34.general.getEnvValue("BATCH_NAME");
84203
+ (_e = (_t = settings.batch).sequenceName) !== null && _e !== void 0 ? _e : _t.sequenceName = utils34.general.getEnvValue("BATCH_SEQUENCE");
84204
+ (_f = (_u = settings.batch).notifyOnCompletion) !== null && _f !== void 0 ? _f : _u.notifyOnCompletion = utils34.general.getEnvValue("BATCH_NOTIFY", "boolean");
84205
+ (_g = settings.keepBatchOpen) !== null && _g !== void 0 ? _g : settings.keepBatchOpen = utils34.general.getEnvValue("DONT_CLOSE_BATCHES", "boolean");
84206
+ (_h = settings.branchName) !== null && _h !== void 0 ? _h : settings.branchName = utils34.general.getEnvValue("BRANCH");
84207
+ (_j = settings.parentBranchName) !== null && _j !== void 0 ? _j : settings.parentBranchName = utils34.general.getEnvValue("PARENT_BRANCH");
84208
+ (_k = settings.baselineBranchName) !== null && _k !== void 0 ? _k : settings.baselineBranchName = utils34.general.getEnvValue("BASELINE_BRANCH");
84209
+ (_l = settings.ufgServerUrl) !== null && _l !== void 0 ? _l : settings.ufgServerUrl = utils34.general.getEnvValue("UFG_SERVER_URL");
84210
+ (_m = settings.ignoreBaseline) !== null && _m !== void 0 ? _m : settings.ignoreBaseline = false;
84211
+ (_o = settings.compareWithParentBranch) !== null && _o !== void 0 ? _o : settings.compareWithParentBranch = false;
83911
84212
  const driver = target && await (0, driver_1.makeDriver)({ spec, driver: target, logger, customConfig: settings });
83912
84213
  const driverEnvironment = await (driver === null || driver === void 0 ? void 0 : driver.getEnvironment());
83913
84214
  const driverUrl = await (driver === null || driver === void 0 ? void 0 : driver.getDriverUrl());
@@ -83918,7 +84219,7 @@ var require_open_eyes4 = __commonJS({
83918
84219
  event: {
83919
84220
  type: "openEyes",
83920
84221
  userTestId: settings.userTestId,
83921
- concurrency: (_u = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _u !== void 0 ? _u : core.concurrency,
84222
+ concurrency: (_p = cores === null || cores === void 0 ? void 0 : cores[type].concurrency) !== null && _p !== void 0 ? _p : core.concurrency,
83922
84223
  environment,
83923
84224
  driver: {
83924
84225
  deviceName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.deviceName,
@@ -83926,7 +84227,7 @@ var require_open_eyes4 = __commonJS({
83926
84227
  browserVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.browserVersion,
83927
84228
  platformName: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformName,
83928
84229
  platformVersion: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.platformVersion,
83929
- isApplitoolsLib: (_v = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _v === void 0 ? void 0 : _v.instrumented,
84230
+ isApplitoolsLib: (_q = driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.applitoolsLib) === null || _q === void 0 ? void 0 : _q.instrumented,
83930
84231
  isEC: driverEnvironment === null || driverEnvironment === void 0 ? void 0 : driverEnvironment.isEC
83931
84232
  },
83932
84233
  driverUrl
@@ -84281,14 +84582,13 @@ var require_close_batch2 = __commonJS({
84281
84582
  };
84282
84583
  Object.defineProperty(exports, "__esModule", { value: true });
84283
84584
  exports.makeCloseBatch = void 0;
84585
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
84284
84586
  var utils34 = __importStar(require_browser3());
84285
84587
  function makeCloseBatch({ core, logger: mainLogger }) {
84286
84588
  return async function closeBatch2({ settings, logger = mainLogger }) {
84287
84589
  logger = logger.extend(mainLogger, { tags: [`close-batch-${utils34.general.shortid()}`] });
84288
84590
  (utils34.types.isArray(settings) ? settings : [settings]).forEach((settings2) => {
84289
- var _a, _b, _c, _d;
84290
- (_a = settings2.eyesServerUrl) !== null && _a !== void 0 ? _a : settings2.eyesServerUrl = (_c = (_b = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _b !== void 0 ? _b : utils34.general.getEnvValue("SERVER_URL")) !== null && _c !== void 0 ? _c : "https://eyesapi.applitools.com";
84291
- (_d = settings2.apiKey) !== null && _d !== void 0 ? _d : settings2.apiKey = utils34.general.getEnvValue("API_KEY");
84591
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings2);
84292
84592
  });
84293
84593
  return core.base.closeBatch({ settings, logger });
84294
84594
  };
@@ -84338,14 +84638,13 @@ var require_delete_test2 = __commonJS({
84338
84638
  };
84339
84639
  Object.defineProperty(exports, "__esModule", { value: true });
84340
84640
  exports.makeDeleteTest = void 0;
84641
+ var populate_eyes_server_settings_1 = require_populate_eyes_server_settings();
84341
84642
  var utils34 = __importStar(require_browser3());
84342
84643
  function makeDeleteTest({ core, logger: mainLogger }) {
84343
84644
  return async function deleteTest({ settings, logger = mainLogger }) {
84344
84645
  logger = logger.extend(mainLogger, { tags: [`delete-test-${utils34.general.shortid()}`] });
84345
84646
  (utils34.types.isArray(settings) ? settings : [settings]).forEach((settings2) => {
84346
- var _a, _b, _c, _d;
84347
- (_a = settings2.eyesServerUrl) !== null && _a !== void 0 ? _a : settings2.eyesServerUrl = (_c = (_b = utils34.general.getEnvValue("EYES_SERVER_URL")) !== null && _b !== void 0 ? _b : utils34.general.getEnvValue("SERVER_URL")) !== null && _c !== void 0 ? _c : "https://eyesapi.applitools.com";
84348
- (_d = settings2.apiKey) !== null && _d !== void 0 ? _d : settings2.apiKey = utils34.general.getEnvValue("API_KEY");
84647
+ (0, populate_eyes_server_settings_1.populateEyesServerSettings)(settings2);
84349
84648
  });
84350
84649
  return core.base.deleteTest({ settings, logger });
84351
84650
  };
@@ -84417,7 +84716,7 @@ var require_package2 = __commonJS({
84417
84716
  "../core/package.json"(exports, module) {
84418
84717
  module.exports = {
84419
84718
  name: "@applitools/core",
84420
- version: "4.6.0",
84719
+ version: "4.8.0",
84421
84720
  homepage: "https://applitools.com",
84422
84721
  bugs: {
84423
84722
  url: "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -86443,15 +86742,6 @@ var require_spec_driver2 = __commonJS({
86443
86742
  isW3C
86444
86743
  };
86445
86744
  }
86446
- function command(method, url, body) {
86447
- if (getFrameworkMajorVersion() < 8) {
86448
- const { default: command2 } = __require("webdriver/build/command");
86449
- return command2(method, url, body);
86450
- } else {
86451
- const { command: command2 } = __require("webdriver");
86452
- return command2(method, url, body);
86453
- }
86454
- }
86455
86745
  function getFrameworkMajorVersion() {
86456
86746
  const version = __require("webdriver/package.json").version;
86457
86747
  return Number.parseInt(version);
@@ -86512,88 +86802,87 @@ var require_spec_driver2 = __commonJS({
86512
86802
  exports.isStaleElementError = isStaleElementError;
86513
86803
  function toDriver(driver) {
86514
86804
  var _a, _b, _c;
86515
- if (!utils34.types.has(driver, ["sessionId", "serverUrl"]))
86516
- return driver;
86517
- const url = new URL(driver.serverUrl);
86518
- const environment = extractEnvironment(driver.capabilities);
86519
- const options = {
86520
- sessionId: driver.sessionId,
86521
- protocol: url.protocol ? url.protocol.replace(/:$/, "") : void 0,
86522
- hostname: url.hostname,
86523
- port: Number(url.port) || void 0,
86524
- path: url.pathname,
86525
- capabilities: driver.capabilities,
86526
- logLevel: "silent",
86527
- ...environment
86528
- };
86529
- if (!options.port) {
86530
- if (options.protocol === "http")
86531
- options.port = 80;
86532
- if (options.protocol === "https")
86533
- options.port = 443;
86534
- }
86535
- if ((_a = driver.proxy) === null || _a === void 0 ? void 0 : _a.url) {
86536
- const proxyUrl = new URL(driver.proxy.url);
86537
- proxyUrl.username = (_b = driver.proxy.username) !== null && _b !== void 0 ? _b : proxyUrl.username;
86538
- proxyUrl.password = (_c = driver.proxy.password) !== null && _c !== void 0 ? _c : proxyUrl.password;
86539
- const proxyOptions = { ...(0, url_1.parse)(proxyUrl.href), rejectUnauthorized: false };
86540
- const httpAgent = (0, http_proxy_agent_1.default)(proxyOptions);
86541
- const httpsAgent = (0, https_proxy_agent_1.default)(proxyOptions);
86542
- httpsAgent.callback = utils34.general.wrap(httpsAgent.callback.bind(httpsAgent), (fn, request, options2, ...rest) => {
86543
- return fn(request, { ...options2, rejectUnauthorized: false }, ...rest);
86544
- });
86545
- options.agent = { http: httpAgent, https: httpsAgent };
86805
+ let transformedDriver;
86806
+ if (utils34.types.has(driver, ["sessionId", "serverUrl"])) {
86807
+ const url = new URL(driver.serverUrl);
86808
+ const environment = extractEnvironment(driver.capabilities);
86809
+ const options = {
86810
+ sessionId: driver.sessionId,
86811
+ protocol: url.protocol ? url.protocol.replace(/:$/, "") : void 0,
86812
+ hostname: url.hostname,
86813
+ port: Number(url.port) || void 0,
86814
+ path: url.pathname,
86815
+ capabilities: driver.capabilities,
86816
+ logLevel: "silent",
86817
+ ...environment
86818
+ };
86819
+ if (!options.port) {
86820
+ if (options.protocol === "http")
86821
+ options.port = 80;
86822
+ if (options.protocol === "https")
86823
+ options.port = 443;
86824
+ }
86825
+ if ((_a = driver.proxy) === null || _a === void 0 ? void 0 : _a.url) {
86826
+ const proxyUrl = new URL(driver.proxy.url);
86827
+ proxyUrl.username = (_b = driver.proxy.username) !== null && _b !== void 0 ? _b : proxyUrl.username;
86828
+ proxyUrl.password = (_c = driver.proxy.password) !== null && _c !== void 0 ? _c : proxyUrl.password;
86829
+ const proxyOptions = { ...(0, url_1.parse)(proxyUrl.href), rejectUnauthorized: false };
86830
+ const httpAgent = (0, http_proxy_agent_1.default)(proxyOptions);
86831
+ const httpsAgent = (0, https_proxy_agent_1.default)(proxyOptions);
86832
+ httpsAgent.callback = utils34.general.wrap(httpsAgent.callback.bind(httpsAgent), (fn, request, options2, ...rest) => {
86833
+ return fn(request, { ...options2, rejectUnauthorized: false }, ...rest);
86834
+ });
86835
+ options.agent = { http: httpAgent, https: httpsAgent };
86836
+ } else {
86837
+ const httpAgent = http_1.default.globalAgent;
86838
+ const httpsAgent = new https_1.default.Agent({ rejectUnauthorized: false });
86839
+ options.agent = { http: httpAgent, https: httpsAgent };
86840
+ }
86841
+ const WebDriver = getWebDriver();
86842
+ transformedDriver = WebDriver.attachToSession(options);
86843
+ transformedDriver.original = driver.original;
86546
86844
  } else {
86547
- const httpAgent = http_1.default.globalAgent;
86548
- const httpsAgent = new https_1.default.Agent({ rejectUnauthorized: false });
86549
- options.agent = { http: httpAgent, https: httpsAgent };
86845
+ transformedDriver = Object.create(driver, {
86846
+ original: { enumerable: false, get: () => driver }
86847
+ });
86550
86848
  }
86551
- const WebDriver = getWebDriver();
86552
- const attachedDriver = WebDriver.attachToSession(options, void 0, {
86553
- _getWindowSize: {
86554
- value: command("GET", "/session/:sessionId/window/current/size", {
86555
- command: "_getWindowSize",
86556
- description: "",
86557
- ref: "",
86558
- parameters: []
86559
- })
86560
- },
86561
- _setWindowSize: {
86562
- value: command("POST", "/session/:sessionId/window/current/size", {
86563
- command: "_setWindowSize",
86564
- parameters: [
86565
- { name: "width", type: "number", required: true, description: "" },
86566
- { name: "height", type: "number", required: true, description: "" }
86567
- ],
86568
- description: "",
86569
- ref: ""
86570
- })
86571
- },
86572
- setWindowPosition: {
86573
- value: command("POST", "/session/:sessionId/window/current/position", {
86574
- command: "setWindowPosition",
86575
- parameters: [
86576
- { name: "x", type: "number", required: true, description: "" },
86577
- { name: "y", type: "number", required: true, description: "" }
86578
- ],
86579
- description: "",
86580
- ref: ""
86581
- })
86582
- },
86583
- sendCommandAndGetResult: {
86584
- value: command("POST", "/session/:sessionId/chromium/send_command_and_get_result", {
86585
- command: "sendCommandAndGetResult",
86586
- parameters: [
86587
- { name: "cmd", type: "string", required: true, description: "" },
86588
- { name: "params", type: "object", required: true, description: "" }
86589
- ],
86590
- description: "Send a command to the DevTools debugger and wait for the result.",
86591
- ref: ""
86592
- })
86593
- }
86594
- });
86595
- attachedDriver.original = driver.original;
86596
- return attachedDriver;
86849
+ if (utils34.types.isFunction(transformedDriver, "addCommand")) {
86850
+ const command = getFrameworkMajorVersion() < 8 ? __require("webdriver/build/command").default : __require("webdriver").command;
86851
+ transformedDriver.addCommand("_getWindowSize", command("GET", "/session/:sessionId/window/current/size", {
86852
+ command: "_getWindowSize",
86853
+ description: "",
86854
+ ref: "",
86855
+ parameters: []
86856
+ }));
86857
+ transformedDriver.addCommand("_setWindowSize", command("POST", "/session/:sessionId/window/current/size", {
86858
+ command: "_setWindowSize",
86859
+ parameters: [
86860
+ { name: "width", type: "number", required: true, description: "" },
86861
+ { name: "height", type: "number", required: true, description: "" }
86862
+ ],
86863
+ description: "",
86864
+ ref: ""
86865
+ }));
86866
+ transformedDriver.addCommand("setWindowPosition", command("POST", "/session/:sessionId/window/current/position", {
86867
+ command: "setWindowPosition",
86868
+ parameters: [
86869
+ { name: "x", type: "number", required: true, description: "" },
86870
+ { name: "y", type: "number", required: true, description: "" }
86871
+ ],
86872
+ description: "",
86873
+ ref: ""
86874
+ }));
86875
+ transformedDriver.addCommand("sendCommandAndGetResult", command("POST", "/session/:sessionId/chromium/send_command_and_get_result", {
86876
+ command: "sendCommandAndGetResult",
86877
+ parameters: [
86878
+ { name: "cmd", type: "string", required: true, description: "" },
86879
+ { name: "params", type: "object", required: true, description: "" }
86880
+ ],
86881
+ description: "Send a command to the DevTools debugger and wait for the result.",
86882
+ ref: ""
86883
+ }));
86884
+ }
86885
+ return transformedDriver;
86597
86886
  }
86598
86887
  exports.toDriver = toDriver;
86599
86888
  function toElement(element) {
@@ -86704,14 +86993,8 @@ var require_spec_driver2 = __commonJS({
86704
86993
  exports.getDriverInfo = getDriverInfo;
86705
86994
  async function getCapabilities(driver) {
86706
86995
  var _a;
86707
- try {
86708
- const capabilities = await ((_a = driver.getSession) === null || _a === void 0 ? void 0 : _a.call(driver));
86709
- return utils34.types.isObject(capabilities) ? capabilities : driver.capabilities;
86710
- } catch (error) {
86711
- if (/Cannot call non W3C standard command while in W3C mode/i.test(error.message))
86712
- return driver.capabilities;
86713
- throw new Error(`Unable to retrieve capabilities due to an error. The original error is ${error.message}`);
86714
- }
86996
+ const capabilities = await ((_a = driver.getSession) === null || _a === void 0 ? void 0 : _a.call(driver).catch(() => null));
86997
+ return utils34.types.isObject(capabilities) ? capabilities : driver.capabilities;
86715
86998
  }
86716
86999
  exports.getCapabilities = getCapabilities;
86717
87000
  async function getWindowSize(driver) {
@@ -87065,6 +87348,9 @@ var require_spec_driver3 = __commonJS({
87065
87348
  },
87066
87349
  async switchWorld(driver, name) {
87067
87350
  return socket.request("Driver.switchWorld", { driver, name });
87351
+ },
87352
+ async reload(driver) {
87353
+ return socket.request("Driver.reload", { driver });
87068
87354
  }
87069
87355
  };
87070
87356
  return spec.reduce((spec2, name) => {
@@ -88158,7 +88444,7 @@ var require_package3 = __commonJS({
88158
88444
  "../eyes/package.json"(exports, module) {
88159
88445
  module.exports = {
88160
88446
  name: "@applitools/eyes",
88161
- version: "1.13.5",
88447
+ version: "1.14.0",
88162
88448
  keywords: [
88163
88449
  "applitools",
88164
88450
  "eyes",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-browser",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
4
4
  "keywords": [
5
5
  "applitools",
6
6
  "browser",
@@ -48,7 +48,7 @@
48
48
  "test": "run --top-level mocha './test/**/*.spec.ts'"
49
49
  },
50
50
  "dependencies": {
51
- "@applitools/eyes": "1.13.5"
51
+ "@applitools/eyes": "1.14.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/node": "^12.20.55",