@applitools/nml-client 1.5.9 → 1.5.11

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,48 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.5.11](https://github.com/applitools/eyes.sdk.javascript1/compare/js/nml-client@1.5.10...js/nml-client@1.5.11) (2023-09-21)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/snippets bumped to 2.4.24
9
+ #### Bug Fixes
10
+
11
+ * add support to shadow dom iframe ([#1925](https://github.com/applitools/eyes.sdk.javascript1/issues/1925)) ([a06b955](https://github.com/applitools/eyes.sdk.javascript1/commit/a06b9555a3b37918fe43a90e92c0a94f765151cc))
12
+ * @applitools/spec-driver-webdriver bumped to 1.0.45
13
+
14
+ * @applitools/driver bumped to 1.14.1
15
+
16
+
17
+ ## [1.5.10](https://github.com/applitools/eyes.sdk.javascript1/compare/js/nml-client@1.5.9...js/nml-client@1.5.10) (2023-09-04)
18
+
19
+
20
+ ### Dependencies
21
+
22
+ * @applitools/utils bumped to 1.6.0
23
+ #### Features
24
+
25
+ * add support for fallback in `req` ([#1899](https://github.com/applitools/eyes.sdk.javascript1/issues/1899)) ([d69c4b5](https://github.com/applitools/eyes.sdk.javascript1/commit/d69c4b5830370c471dfc25b6e2caddca8b458df9))
26
+ * @applitools/req bumped to 1.6.0
27
+ #### Features
28
+
29
+ * add support for fallback in `req` ([#1899](https://github.com/applitools/eyes.sdk.javascript1/issues/1899)) ([d69c4b5](https://github.com/applitools/eyes.sdk.javascript1/commit/d69c4b5830370c471dfc25b6e2caddca8b458df9))
30
+ * update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
31
+
32
+
33
+
34
+ * @applitools/driver bumped to 1.14.0
35
+ #### Features
36
+
37
+ * update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
38
+
39
+
40
+
41
+ * @applitools/logger bumped to 2.0.10
42
+
43
+ * @applitools/spec-driver-webdriver bumped to 1.0.44
44
+
45
+
3
46
  ## [1.5.9](https://github.com/applitools/eyes.sdk.javascript1/compare/js/nml-client@1.5.8...js/nml-client@1.5.9) (2023-08-30)
4
47
 
5
48
 
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeReqBroker = void 0;
27
27
  const req_1 = __importStar(require("@applitools/req"));
28
+ const utils = __importStar(require("@applitools/utils"));
28
29
  function makeReqBroker({ settings, logger }) {
29
30
  return (0, req_1.makeReq)({
30
31
  method: 'POST',
@@ -82,17 +83,21 @@ function handleLongRequests({ req }) {
82
83
  function handleUnexpectedResponse() {
83
84
  return {
84
85
  async afterResponse({ response }) {
85
- var _a;
86
86
  if (response.status !== 200) {
87
87
  throw new Error(`Something went wrong when communicating with the mobile application, please try running your test again (error code: ${response.status})`);
88
88
  }
89
89
  else {
90
90
  const body = await response.text();
91
91
  const result = JSON.parse(body);
92
- if ((_a = result === null || result === void 0 ? void 0 : result.payload) === null || _a === void 0 ? void 0 : _a.error) {
93
- const error = new Error(`There was a problem when interacting with the mobile application. The provided error message was "${result.payload.error.message}" and had a stack trace of "${result.payload.error.stack}"`);
94
- error.nextPath = result.nextPath;
95
- throw error;
92
+ if (result === null || result === void 0 ? void 0 : result.payload) {
93
+ const error = utils.types.isArray(result.payload)
94
+ ? result.payload.find(payload => payload.error)
95
+ : result.payload.error;
96
+ if (error) {
97
+ const nmlError = new Error(`There was a problem when interacting with the mobile application. The provided error message was "${error.message}" and had a stack trace of "${error.stack}"`);
98
+ nmlError.nextPath = result.nextPath;
99
+ throw nmlError;
100
+ }
96
101
  }
97
102
  return { response, body };
98
103
  }
@@ -30,10 +30,10 @@ exports.makeNMLRequests = void 0;
30
30
  const req_broker_1 = require("./req-broker");
31
31
  const req_1 = __importDefault(require("@applitools/req"));
32
32
  const utils = __importStar(require("@applitools/utils"));
33
- function makeNMLRequests({ settings, logger: defaultLogger, }) {
33
+ function makeNMLRequests({ settings, logger: mainLogger, }) {
34
34
  let brokerUrl = settings.brokerUrl;
35
- const req = (0, req_broker_1.makeReqBroker)({ settings, logger: defaultLogger });
36
- const getSupportedRenderEnvironmentsWithCache = utils.general.cachify(getSupportedRenderEnvironments);
35
+ const req = (0, req_broker_1.makeReqBroker)({ settings, logger: mainLogger });
36
+ const getSupportedRenderEnvironmentsWithCache = utils.general.cachify(getSupportedRenderEnvironments, () => 'default');
37
37
  return {
38
38
  getSupportedRenderEnvironments: getSupportedRenderEnvironmentsWithCache,
39
39
  takeScreenshots,
@@ -44,7 +44,9 @@ function makeNMLRequests({ settings, logger: defaultLogger, }) {
44
44
  const result = await response.json();
45
45
  return result;
46
46
  }
47
- async function takeScreenshots({ settings, logger = defaultLogger, }) {
47
+ async function takeScreenshots({ settings, logger = mainLogger, }) {
48
+ logger = logger.extend(mainLogger, { tags: [`nml-request-${utils.general.shortid()}`] });
49
+ logger.log('Request "takeScreenshots" called with settings', settings);
48
50
  const supportedRenderEnvironments = await getSupportedRenderEnvironmentsWithCache({ logger });
49
51
  const { localEnvironment, renderEnvironments, rendererSettings } = settings.renderers.reduce((result, renderer) => {
50
52
  var _a;
@@ -89,14 +91,13 @@ function makeNMLRequests({ settings, logger: defaultLogger, }) {
89
91
  });
90
92
  const result = await response.json();
91
93
  brokerUrl = result.nextPath;
92
- if (localEnvironment) {
93
- return [{ image: result.payload.result.screenshotUrl, renderEnvironment: localEnvironment }];
94
- }
95
- else {
96
- return renderEnvironments.map((renderEnvironment, index) => {
94
+ const screenshots = localEnvironment
95
+ ? [{ image: result.payload.result.screenshotUrl, renderEnvironment: localEnvironment }]
96
+ : renderEnvironments.map((renderEnvironment, index) => {
97
97
  return { image: result.payload[index].result.screenshotUrl, renderEnvironment };
98
98
  });
99
- }
99
+ logger.log('Request "takeScreenshots" finished successfully with body', screenshots);
100
+ return screenshots;
100
101
  }
101
102
  catch (error) {
102
103
  if (error.nextPath)
@@ -104,7 +105,7 @@ function makeNMLRequests({ settings, logger: defaultLogger, }) {
104
105
  throw error;
105
106
  }
106
107
  }
107
- async function takeSnapshots({ settings, logger = defaultLogger, }) {
108
+ async function takeSnapshots({ settings, logger = mainLogger, }) {
108
109
  try {
109
110
  const response = await req(brokerUrl, {
110
111
  name: 'TAKE_SNAPSHOT',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/nml-client",
3
- "version": "1.5.9",
3
+ "version": "1.5.11",
4
4
  "description": "Client to integrate the SDKs to the Native Mobile Library (NML)",
5
5
  "homepage": "https://applitools.com",
6
6
  "bugs": {
@@ -36,12 +36,12 @@
36
36
  "test": "run --top-level mocha './test/**/*.spec.ts' --parallel --jobs ${MOCHA_JOBS:-15}"
37
37
  },
38
38
  "dependencies": {
39
- "@applitools/logger": "2.0.9",
40
- "@applitools/req": "1.5.4",
41
- "@applitools/utils": "1.5.2"
39
+ "@applitools/logger": "2.0.10",
40
+ "@applitools/req": "1.6.0",
41
+ "@applitools/utils": "1.6.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@applitools/spec-driver-webdriver": "^1.0.43",
44
+ "@applitools/spec-driver-webdriver": "^1.0.45",
45
45
  "@applitools/test-server": "^1.2.2",
46
46
  "@applitools/test-utils": "^1.5.17",
47
47
  "@types/node": "^12.20.55",
@@ -13,7 +13,7 @@ export interface NMLRequests {
13
13
  logger?: Logger;
14
14
  }): Promise<TSnapshot[]>;
15
15
  }
16
- export declare function makeNMLRequests({ settings, logger: defaultLogger, }: {
16
+ export declare function makeNMLRequests({ settings, logger: mainLogger, }: {
17
17
  settings: BrokerServerSettings;
18
18
  logger: Logger;
19
19
  }): NMLRequests;