@applitools/nml-client 1.5.9 → 1.5.10
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 +29 -0
- package/dist/server/req-broker.js +10 -5
- package/dist/server/requests.js +12 -11
- package/package.json +5 -5
- package/types/server/requests.d.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [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)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Dependencies
|
|
7
|
+
|
|
8
|
+
* @applitools/utils bumped to 1.6.0
|
|
9
|
+
#### Features
|
|
10
|
+
|
|
11
|
+
* 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))
|
|
12
|
+
* @applitools/req bumped to 1.6.0
|
|
13
|
+
#### Features
|
|
14
|
+
|
|
15
|
+
* 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))
|
|
16
|
+
* update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
* @applitools/driver bumped to 1.14.0
|
|
21
|
+
#### Features
|
|
22
|
+
|
|
23
|
+
* update testcafe ([#1884](https://github.com/applitools/eyes.sdk.javascript1/issues/1884)) ([104f1b6](https://github.com/applitools/eyes.sdk.javascript1/commit/104f1b6cc0d4f107ba46404383de2fa11fe99dcf))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
* @applitools/logger bumped to 2.0.10
|
|
28
|
+
|
|
29
|
+
* @applitools/spec-driver-webdriver bumped to 1.0.44
|
|
30
|
+
|
|
31
|
+
|
|
3
32
|
## [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
33
|
|
|
5
34
|
|
|
@@ -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 (
|
|
93
|
-
const error =
|
|
94
|
-
|
|
95
|
-
|
|
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
|
}
|
package/dist/server/requests.js
CHANGED
|
@@ -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:
|
|
33
|
+
function makeNMLRequests({ settings, logger: mainLogger, }) {
|
|
34
34
|
let brokerUrl = settings.brokerUrl;
|
|
35
|
-
const req = (0, req_broker_1.makeReqBroker)({ settings, logger:
|
|
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 =
|
|
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
|
-
|
|
93
|
-
|
|
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 =
|
|
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.
|
|
3
|
+
"version": "1.5.10",
|
|
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.
|
|
40
|
-
"@applitools/req": "1.
|
|
41
|
-
"@applitools/utils": "1.
|
|
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.
|
|
44
|
+
"@applitools/spec-driver-webdriver": "^1.0.44",
|
|
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:
|
|
16
|
+
export declare function makeNMLRequests({ settings, logger: mainLogger, }: {
|
|
17
17
|
settings: BrokerServerSettings;
|
|
18
18
|
logger: Logger;
|
|
19
19
|
}): NMLRequests;
|