@applitools/core 3.7.0 → 3.8.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 +7 -0
- package/package.json +1 -1
- package/dist/automation/extract-text.js +0 -79
- package/dist/automation/get-nml-client.js +0 -42
- package/dist/automation/get-viewport-size.js +0 -13
- package/dist/automation/locate-text.js +0 -58
- package/dist/automation/locate.js +0 -60
- package/dist/automation/set-viewport-size.js +0 -13
- package/dist/automation/types.js +0 -2
- package/dist/automation/utils/take-screenshot.js +0 -59
- package/dist/automation/utils/to-base-check-settings.js +0 -70
- package/dist/automation/utils/wait-for-lazy-load.js +0 -22
- package/dist/check-and-close.js +0 -49
- package/dist/check.js +0 -78
- package/dist/classic/abort.js +0 -23
- package/dist/classic/check-and-close.js +0 -104
- package/dist/classic/check.js +0 -117
- package/dist/classic/close.js +0 -23
- package/dist/classic/core.js +0 -55
- package/dist/classic/get-base-eyes.js +0 -40
- package/dist/classic/open-eyes.js +0 -98
- package/dist/classic/types.js +0 -17
- package/dist/classic/utils/take-dom-capture.js +0 -121
- package/dist/cli/cli.js +0 -139
- package/dist/close-batch.js +0 -39
- package/dist/close.js +0 -38
- package/dist/core.js +0 -64
- package/dist/delete-test.js +0 -39
- package/dist/errors/abort-error.js +0 -10
- package/dist/errors/internal-error.js +0 -11
- package/dist/errors/test-error.js +0 -32
- package/dist/extract-text.js +0 -46
- package/dist/get-account-info.js +0 -37
- package/dist/get-ec-client.js +0 -37
- package/dist/get-eyes-results.js +0 -43
- package/dist/get-manager-results.js +0 -112
- package/dist/get-typed-eyes.js +0 -27
- package/dist/index.js +0 -38
- package/dist/locate-text.js +0 -41
- package/dist/locate.js +0 -41
- package/dist/log-event.js +0 -39
- package/dist/make-manager.js +0 -60
- package/dist/open-eyes.js +0 -98
- package/dist/troubleshoot/check-network.js +0 -114
- package/dist/troubleshoot/eyes.js +0 -85
- package/dist/troubleshoot/logs.js +0 -41
- package/dist/troubleshoot/ufg.js +0 -131
- package/dist/troubleshoot/utils.js +0 -44
- package/dist/types.js +0 -17
- package/dist/ufg/abort.js +0 -33
- package/dist/ufg/check-and-close.js +0 -270
- package/dist/ufg/check.js +0 -277
- package/dist/ufg/close.js +0 -38
- package/dist/ufg/core.js +0 -57
- package/dist/ufg/get-base-eyes.js +0 -56
- package/dist/ufg/get-results.js +0 -28
- package/dist/ufg/get-ufg-client.js +0 -47
- package/dist/ufg/open-eyes.js +0 -97
- package/dist/ufg/types.js +0 -17
- package/dist/ufg/utils/generate-safe-selectors.js +0 -63
- package/dist/ufg/utils/take-dom-snapshot.js +0 -134
- package/dist/ufg/utils/take-dom-snapshots.js +0 -153
- package/dist/ufg/utils/uniquify-renderers.js +0 -27
- package/dist/universal/core-server-process.js +0 -31
- package/dist/universal/core-server.js +0 -190
- package/dist/universal/core.js +0 -158
- package/dist/universal/history.js +0 -86
- package/dist/universal/refer.js +0 -67
- package/dist/universal/spec-driver.js +0 -163
- package/dist/universal/types.js +0 -2
- package/dist/universal/ws-server.js +0 -59
- package/dist/utils/extract-ci-provider.js +0 -31
- package/dist/utils/format-results.js +0 -185
- package/dist/utils/separate-duplicate-results.js +0 -34
- package/types/automation/extract-text.d.ts +0 -15
- package/types/automation/get-nml-client.d.ts +0 -17
- package/types/automation/get-viewport-size.d.ts +0 -12
- package/types/automation/locate-text.d.ts +0 -14
- package/types/automation/locate.d.ts +0 -14
- package/types/automation/set-viewport-size.d.ts +0 -14
- package/types/automation/types.d.ts +0 -90
- package/types/automation/utils/take-screenshot.d.ts +0 -22
- package/types/automation/utils/to-base-check-settings.d.ts +0 -17
- package/types/automation/utils/wait-for-lazy-load.d.ts +0 -14
- package/types/check-and-close.d.ts +0 -18
- package/types/check.d.ts +0 -18
- package/types/classic/abort.d.ts +0 -16
- package/types/classic/check-and-close.d.ts +0 -19
- package/types/classic/check.d.ts +0 -15
- package/types/classic/close.d.ts +0 -16
- package/types/classic/core.d.ts +0 -17
- package/types/classic/get-base-eyes.d.ts +0 -18
- package/types/classic/open-eyes.d.ts +0 -16
- package/types/classic/types.d.ts +0 -35
- package/types/classic/utils/take-dom-capture.d.ts +0 -16
- package/types/cli/cli.d.ts +0 -2
- package/types/close-batch.d.ts +0 -12
- package/types/close.d.ts +0 -13
- package/types/core.d.ts +0 -14
- package/types/delete-test.d.ts +0 -12
- package/types/errors/abort-error.d.ts +0 -4
- package/types/errors/internal-error.d.ts +0 -6
- package/types/errors/test-error.d.ts +0 -5
- package/types/extract-text.d.ts +0 -16
- package/types/get-account-info.d.ts +0 -11
- package/types/get-ec-client.d.ts +0 -14
- package/types/get-eyes-results.d.ts +0 -12
- package/types/get-manager-results.d.ts +0 -13
- package/types/get-typed-eyes.d.ts +0 -19
- package/types/index.d.ts +0 -9
- package/types/locate-text.d.ts +0 -15
- package/types/locate.d.ts +0 -16
- package/types/log-event.d.ts +0 -12
- package/types/make-manager.d.ts +0 -19
- package/types/open-eyes.d.ts +0 -22
- package/types/troubleshoot/check-network.d.ts +0 -21
- package/types/troubleshoot/eyes.d.ts +0 -11
- package/types/troubleshoot/logs.d.ts +0 -10
- package/types/troubleshoot/ufg.d.ts +0 -10
- package/types/troubleshoot/utils.d.ts +0 -2
- package/types/types.d.ts +0 -142
- package/types/ufg/abort.d.ts +0 -21
- package/types/ufg/check-and-close.d.ts +0 -42
- package/types/ufg/check.d.ts +0 -23
- package/types/ufg/close.d.ts +0 -19
- package/types/ufg/core.d.ts +0 -21
- package/types/ufg/get-base-eyes.d.ts +0 -19
- package/types/ufg/get-results.d.ts +0 -16
- package/types/ufg/get-ufg-client.d.ts +0 -16
- package/types/ufg/open-eyes.d.ts +0 -16
- package/types/ufg/types.d.ts +0 -73
- package/types/ufg/utils/generate-safe-selectors.d.ts +0 -16
- package/types/ufg/utils/take-dom-snapshot.d.ts +0 -47
- package/types/ufg/utils/take-dom-snapshots.d.ts +0 -27
- package/types/ufg/utils/uniquify-renderers.d.ts +0 -2
- package/types/universal/core-server-process.d.ts +0 -9
- package/types/universal/core-server.d.ts +0 -13
- package/types/universal/core.d.ts +0 -23
- package/types/universal/history.d.ts +0 -2
- package/types/universal/refer.d.ts +0 -8
- package/types/universal/spec-driver.d.ts +0 -11
- package/types/universal/types.d.ts +0 -188
- package/types/universal/ws-server.d.ts +0 -14
- package/types/utils/extract-ci-provider.d.ts +0 -1
- package/types/utils/format-results.d.ts +0 -16
- package/types/utils/separate-duplicate-results.d.ts +0 -2
package/dist/universal/core.js
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.makeClientSocket = exports.makeEyes = exports.makeManager = exports.makeCore = void 0;
|
|
27
|
-
const socket_1 = require("@applitools/socket");
|
|
28
|
-
const ws_1 = require("ws");
|
|
29
|
-
const core_server_1 = require("./core-server");
|
|
30
|
-
const utils = __importStar(require("@applitools/utils"));
|
|
31
|
-
//TODO add refer and sanitizing support, solve types issues
|
|
32
|
-
function makeCore(options) {
|
|
33
|
-
const socketPromise = makeClientSocket(options);
|
|
34
|
-
const core = {
|
|
35
|
-
base: null,
|
|
36
|
-
async getAccountInfo(options) {
|
|
37
|
-
const socket = await socketPromise;
|
|
38
|
-
return socket.request('Core.getAccountInfo', options);
|
|
39
|
-
},
|
|
40
|
-
async getViewportSize(options) {
|
|
41
|
-
const socket = await socketPromise;
|
|
42
|
-
return socket.request('Core.getViewportSize', options);
|
|
43
|
-
},
|
|
44
|
-
async setViewportSize(options) {
|
|
45
|
-
const socket = await socketPromise;
|
|
46
|
-
return socket.request('Core.setViewportSize', options);
|
|
47
|
-
},
|
|
48
|
-
async getNMLClient(_options) {
|
|
49
|
-
// TODO
|
|
50
|
-
return null;
|
|
51
|
-
},
|
|
52
|
-
async getECClient(options) {
|
|
53
|
-
const socket = await socketPromise;
|
|
54
|
-
return socket.request('Core.makeECClient', options);
|
|
55
|
-
},
|
|
56
|
-
async locate(options) {
|
|
57
|
-
const socket = await socketPromise;
|
|
58
|
-
return socket.request('Core.locate', options);
|
|
59
|
-
},
|
|
60
|
-
async locateText(options) {
|
|
61
|
-
const socket = await socketPromise;
|
|
62
|
-
return socket.request('Core.locateText', options);
|
|
63
|
-
},
|
|
64
|
-
async extractText(options) {
|
|
65
|
-
const socket = await socketPromise;
|
|
66
|
-
return socket.request('Core.extractText', options);
|
|
67
|
-
},
|
|
68
|
-
async openEyes(options) {
|
|
69
|
-
const socket = await socketPromise;
|
|
70
|
-
const eyesRef = await socket.request('Core.openEyes', options);
|
|
71
|
-
return makeEyes({ socket, core, eyesRef });
|
|
72
|
-
},
|
|
73
|
-
async openFunctionalSession(_options) {
|
|
74
|
-
// TODO
|
|
75
|
-
return null;
|
|
76
|
-
},
|
|
77
|
-
async makeManager(options) {
|
|
78
|
-
const socket = await socketPromise;
|
|
79
|
-
const managerRef = await socket.request('Core.makeManager', options);
|
|
80
|
-
return makeManager({ socket, core, managerRef });
|
|
81
|
-
},
|
|
82
|
-
async closeBatch(options) {
|
|
83
|
-
const socket = await socketPromise;
|
|
84
|
-
return socket.request('Core.closeBatch', options);
|
|
85
|
-
},
|
|
86
|
-
async deleteTest(options) {
|
|
87
|
-
const socket = await socketPromise;
|
|
88
|
-
return socket.request('Core.deleteTest', options);
|
|
89
|
-
},
|
|
90
|
-
async logEvent(options) {
|
|
91
|
-
const socket = await socketPromise;
|
|
92
|
-
return socket.request('Core.logEvent', options);
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
return core;
|
|
96
|
-
}
|
|
97
|
-
exports.makeCore = makeCore;
|
|
98
|
-
function makeManager({ socket, core, managerRef, }) {
|
|
99
|
-
const manager = {
|
|
100
|
-
async openEyes(options) {
|
|
101
|
-
const eyesRef = await socket.request('EyesManager.openEyes', { ...options, manager: managerRef });
|
|
102
|
-
return makeEyes({ socket, core, eyesRef });
|
|
103
|
-
},
|
|
104
|
-
async getResults(options) {
|
|
105
|
-
return socket.request('EyesManager.getResults', { ...options, manager: managerRef });
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
return manager;
|
|
109
|
-
}
|
|
110
|
-
exports.makeManager = makeManager;
|
|
111
|
-
function makeEyes({ socket, core, eyesRef, }) {
|
|
112
|
-
const eyes = {
|
|
113
|
-
test: null,
|
|
114
|
-
running: null,
|
|
115
|
-
core,
|
|
116
|
-
getBaseEyes() {
|
|
117
|
-
return null;
|
|
118
|
-
},
|
|
119
|
-
getTypedEyes() {
|
|
120
|
-
return null;
|
|
121
|
-
},
|
|
122
|
-
async check(options) {
|
|
123
|
-
return socket.request('Eyes.check', { ...options, eyes: eyesRef });
|
|
124
|
-
},
|
|
125
|
-
async checkAndClose(options) {
|
|
126
|
-
return socket.request('Eyes.checkAndClose', { ...options, eyes: eyesRef });
|
|
127
|
-
},
|
|
128
|
-
async close(options) {
|
|
129
|
-
return socket.request('Eyes.close', { ...options, eyes: eyesRef });
|
|
130
|
-
},
|
|
131
|
-
async abort(options) {
|
|
132
|
-
return socket.request('Eyes.abort', { ...options, eyes: eyesRef });
|
|
133
|
-
},
|
|
134
|
-
async getResults(options) {
|
|
135
|
-
return socket.request('Eyes.getResults', { ...options, eyes: eyesRef });
|
|
136
|
-
},
|
|
137
|
-
};
|
|
138
|
-
return eyes;
|
|
139
|
-
}
|
|
140
|
-
exports.makeEyes = makeEyes;
|
|
141
|
-
async function makeClientSocket({ agentId, spec, }) {
|
|
142
|
-
const { port } = await (0, core_server_1.makeCoreServer)();
|
|
143
|
-
const socket = (0, socket_1.makeSocket)(new ws_1.WebSocket(`ws://localhost:${port}/eyes`), {
|
|
144
|
-
transport: 'ws',
|
|
145
|
-
});
|
|
146
|
-
socket.emit('Core.makeCore', {
|
|
147
|
-
agentId,
|
|
148
|
-
cwd: process.cwd(),
|
|
149
|
-
spec: utils.types.isString(spec) ? spec : Object.keys(spec),
|
|
150
|
-
});
|
|
151
|
-
if (!utils.types.isString(spec)) {
|
|
152
|
-
Object.entries(spec).forEach(([name, command]) => {
|
|
153
|
-
socket.command(`Driver.${name}`, args => command(...args));
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
return socket;
|
|
157
|
-
}
|
|
158
|
-
exports.makeClientSocket = makeClientSocket;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withHistory = void 0;
|
|
4
|
-
//TODO Design a better history tracker
|
|
5
|
-
function withHistory(socket) {
|
|
6
|
-
const history = {
|
|
7
|
-
managers: new Map(),
|
|
8
|
-
eyes: new Map(),
|
|
9
|
-
startedAt: new Date().toISOString(),
|
|
10
|
-
};
|
|
11
|
-
const originalCommand = socket.command;
|
|
12
|
-
socket.command = function command(name, fn) {
|
|
13
|
-
return originalCommand(name, async (payload) => {
|
|
14
|
-
let result, error;
|
|
15
|
-
try {
|
|
16
|
-
result = await fn(payload);
|
|
17
|
-
return result;
|
|
18
|
-
}
|
|
19
|
-
catch (err) {
|
|
20
|
-
error = err;
|
|
21
|
-
throw error;
|
|
22
|
-
}
|
|
23
|
-
finally {
|
|
24
|
-
if (name === 'Core.makeManager') {
|
|
25
|
-
const managerRef = result;
|
|
26
|
-
history.managers.set(extractRefId(managerRef), { ...payload, manager: result, eyes: [] });
|
|
27
|
-
}
|
|
28
|
-
else if (name.startsWith('EyesManager.')) {
|
|
29
|
-
const managerRef = payload.manager;
|
|
30
|
-
const managerHistory = history.managers.get(extractRefId(managerRef));
|
|
31
|
-
if (managerHistory) {
|
|
32
|
-
if (name === 'EyesManager.openEyes') {
|
|
33
|
-
if (error) {
|
|
34
|
-
managerHistory.eyes.push({ ...payload, error });
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
const eyesRef = result;
|
|
38
|
-
managerHistory.eyes.push(eyesRef);
|
|
39
|
-
history.eyes.set(extractRefId(eyesRef), { ...payload, eyes: eyesRef, commands: [] });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
else if (name.startsWith('Eyes.')) {
|
|
45
|
-
const eyesRef = payload.eyes;
|
|
46
|
-
const eyesHistory = history.eyes.get(extractRefId(eyesRef));
|
|
47
|
-
if (eyesHistory) {
|
|
48
|
-
if (name === 'Eyes.check') {
|
|
49
|
-
const command = { name, ...payload };
|
|
50
|
-
if (error)
|
|
51
|
-
command.error = error;
|
|
52
|
-
else
|
|
53
|
-
command.result = result;
|
|
54
|
-
eyesHistory.commands.push(command);
|
|
55
|
-
}
|
|
56
|
-
else if (name === 'Eyes.close') {
|
|
57
|
-
eyesHistory.closed = true;
|
|
58
|
-
}
|
|
59
|
-
else if (name === 'Eyes.abort') {
|
|
60
|
-
eyesHistory.aborted = true;
|
|
61
|
-
}
|
|
62
|
-
else if (name === 'Eyes.getResults') {
|
|
63
|
-
eyesHistory.result = error !== null && error !== void 0 ? error : result;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
return function getHistory() {
|
|
71
|
-
return {
|
|
72
|
-
managers: Array.from(history.managers.values(), managerMeta => ({
|
|
73
|
-
...managerMeta,
|
|
74
|
-
eyes: managerMeta.eyes.map(eyesRefOrError => {
|
|
75
|
-
return eyesRefOrError instanceof Error ? eyesRefOrError : history.eyes.get(extractRefId(eyesRefOrError));
|
|
76
|
-
}),
|
|
77
|
-
})),
|
|
78
|
-
startedAt: history.startedAt,
|
|
79
|
-
requestedAt: new Date().toISOString(),
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
function extractRefId(ref) {
|
|
83
|
-
return ref['applitools-ref-id'];
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
exports.withHistory = withHistory;
|
package/dist/universal/refer.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.makeRefer = void 0;
|
|
27
|
-
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
-
const REF_ID = 'applitools-ref-id';
|
|
29
|
-
function makeRefer() {
|
|
30
|
-
const store = new Map();
|
|
31
|
-
const relation = new Map();
|
|
32
|
-
return { isRef, ref, deref, destroy };
|
|
33
|
-
function isRef(ref) {
|
|
34
|
-
return Boolean(ref[REF_ID]);
|
|
35
|
-
}
|
|
36
|
-
function ref(value, parentRef) {
|
|
37
|
-
const ref = utils.general.guid();
|
|
38
|
-
store.set(ref, value);
|
|
39
|
-
if (parentRef) {
|
|
40
|
-
let childRefs = relation.get(parentRef[REF_ID]);
|
|
41
|
-
if (!childRefs) {
|
|
42
|
-
childRefs = new Set();
|
|
43
|
-
relation.set(parentRef[REF_ID], childRefs);
|
|
44
|
-
}
|
|
45
|
-
childRefs.add({ [REF_ID]: ref });
|
|
46
|
-
}
|
|
47
|
-
return { [REF_ID]: ref };
|
|
48
|
-
}
|
|
49
|
-
function deref(ref) {
|
|
50
|
-
if (isRef(ref)) {
|
|
51
|
-
return store.get(ref[REF_ID]);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
return ref;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
function destroy(ref) {
|
|
58
|
-
if (!isRef(ref))
|
|
59
|
-
return;
|
|
60
|
-
const childRefs = relation.get(ref[REF_ID]);
|
|
61
|
-
if (childRefs) {
|
|
62
|
-
childRefs.forEach(childRef => destroy(childRef));
|
|
63
|
-
}
|
|
64
|
-
store.delete(ref[REF_ID]);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.makeRefer = makeRefer;
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.makeSpec = void 0;
|
|
27
|
-
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
-
function makeSpec({ socket, spec, }) {
|
|
29
|
-
const commands = {
|
|
30
|
-
// #region UTILITY
|
|
31
|
-
isDriver(driver) {
|
|
32
|
-
return utils.types.has(driver, 'applitools-ref-id');
|
|
33
|
-
},
|
|
34
|
-
isContext(context) {
|
|
35
|
-
return utils.types.has(context, 'applitools-ref-id');
|
|
36
|
-
},
|
|
37
|
-
isElement(element) {
|
|
38
|
-
return utils.types.has(element, ['applitools-ref-id', 'type']) && element.type === 'element';
|
|
39
|
-
},
|
|
40
|
-
isSelector(selector) {
|
|
41
|
-
return ((utils.types.has(selector, ['applitools-ref-id', 'type']) && selector.type === 'selector') ||
|
|
42
|
-
utils.types.isString(selector) ||
|
|
43
|
-
(utils.types.isPlainObject(selector) &&
|
|
44
|
-
utils.types.has(selector, 'selector') &&
|
|
45
|
-
(utils.types.isString(selector.selector) || utils.types.has(selector, 'applitools-ref-id'))));
|
|
46
|
-
},
|
|
47
|
-
extractContext(driver) {
|
|
48
|
-
return driver.context;
|
|
49
|
-
},
|
|
50
|
-
extractSelector(element) {
|
|
51
|
-
return element.selector;
|
|
52
|
-
},
|
|
53
|
-
extractHostName(driver) {
|
|
54
|
-
var _a;
|
|
55
|
-
return (_a = driver.hostname) !== null && _a !== void 0 ? _a : null;
|
|
56
|
-
},
|
|
57
|
-
isStaleElementError(error) {
|
|
58
|
-
return error === null || error === void 0 ? void 0 : error.isStaleElementError;
|
|
59
|
-
},
|
|
60
|
-
async isEqualElements(context, element1, element2) {
|
|
61
|
-
return socket.request('Driver.isEqualElements', { context, element1, element2 });
|
|
62
|
-
},
|
|
63
|
-
// #endregion
|
|
64
|
-
// #region COMMANDS
|
|
65
|
-
async mainContext(context) {
|
|
66
|
-
return socket.request('Driver.mainContext', { context });
|
|
67
|
-
},
|
|
68
|
-
async parentContext(context) {
|
|
69
|
-
return socket.request('Driver.parentContext', { context });
|
|
70
|
-
},
|
|
71
|
-
async childContext(context, element) {
|
|
72
|
-
return socket.request('Driver.childContext', { context, element });
|
|
73
|
-
},
|
|
74
|
-
async executeScript(context, script, arg) {
|
|
75
|
-
return socket.request('Driver.executeScript', { context, script: script.toString(), arg });
|
|
76
|
-
},
|
|
77
|
-
async findElement(context, selector, parent) {
|
|
78
|
-
return socket.request('Driver.findElement', { context, selector, parent });
|
|
79
|
-
},
|
|
80
|
-
async findElements(context, selector, parent) {
|
|
81
|
-
return socket.request('Driver.findElements', { context, selector, parent });
|
|
82
|
-
},
|
|
83
|
-
async waitForSelector(context, selector, parent, options) {
|
|
84
|
-
return socket.request('Driver.waitForSelector', { context, selector, parent, options });
|
|
85
|
-
},
|
|
86
|
-
async getElementText(context, element) {
|
|
87
|
-
return socket.request('Driver.getElementText', { context, element });
|
|
88
|
-
},
|
|
89
|
-
async setElementText(context, element, text) {
|
|
90
|
-
return socket.request('Driver.setElementText', { context, element, text });
|
|
91
|
-
},
|
|
92
|
-
async getWindowSize(driver) {
|
|
93
|
-
return socket.request('Driver.getWindowSize', { driver });
|
|
94
|
-
},
|
|
95
|
-
async setWindowSize(driver, size) {
|
|
96
|
-
return socket.request('Driver.setWindowSize', { driver, size });
|
|
97
|
-
},
|
|
98
|
-
async getViewportSize(driver) {
|
|
99
|
-
return socket.request('Driver.getViewportSize', { driver });
|
|
100
|
-
},
|
|
101
|
-
async setViewportSize(driver, size) {
|
|
102
|
-
return socket.request('Driver.setViewportSize', { driver, size });
|
|
103
|
-
},
|
|
104
|
-
async getCookies(driver, context) {
|
|
105
|
-
return socket.request('Driver.getCookies', { driver, context });
|
|
106
|
-
},
|
|
107
|
-
async getCapabilities(driver) {
|
|
108
|
-
return socket.request('Driver.getCapabilities', { driver });
|
|
109
|
-
},
|
|
110
|
-
async getDriverInfo(driver) {
|
|
111
|
-
return socket.request('Driver.getDriverInfo', { driver });
|
|
112
|
-
},
|
|
113
|
-
async getTitle(driver) {
|
|
114
|
-
return socket.request('Driver.getTitle', { driver });
|
|
115
|
-
},
|
|
116
|
-
async getUrl(driver) {
|
|
117
|
-
return socket.request('Driver.getUrl', { driver });
|
|
118
|
-
},
|
|
119
|
-
async takeScreenshot(driver) {
|
|
120
|
-
return socket.request('Driver.takeScreenshot', { driver });
|
|
121
|
-
},
|
|
122
|
-
async click(context, element) {
|
|
123
|
-
return socket.request('Driver.click', { context, element });
|
|
124
|
-
},
|
|
125
|
-
async visit(driver, url) {
|
|
126
|
-
return socket.request('Driver.visit', { driver, url });
|
|
127
|
-
},
|
|
128
|
-
// #endregion
|
|
129
|
-
// #region NATIVE COMMANDS
|
|
130
|
-
async getSystemBars(driver) {
|
|
131
|
-
return socket.request('Driver.getSystemBars', { driver });
|
|
132
|
-
},
|
|
133
|
-
async getOrientation(driver) {
|
|
134
|
-
return socket.request('Driver.getOrientation', { driver });
|
|
135
|
-
},
|
|
136
|
-
async setOrientation(driver, orientation) {
|
|
137
|
-
return socket.request('Driver.setOrientation', { driver, orientation });
|
|
138
|
-
},
|
|
139
|
-
async getElementRegion(driver, element) {
|
|
140
|
-
return socket.request('Driver.getElementRegion', { driver, element });
|
|
141
|
-
},
|
|
142
|
-
async getElementAttribute(driver, element, attr) {
|
|
143
|
-
return socket.request('Driver.getElementAttribute', { driver, element, attr });
|
|
144
|
-
},
|
|
145
|
-
async performAction(driver, steps) {
|
|
146
|
-
return socket.request('Driver.performAction', { driver, steps });
|
|
147
|
-
},
|
|
148
|
-
async getCurrentWorld(driver) {
|
|
149
|
-
return socket.request('Driver.getCurrentWorld', { driver });
|
|
150
|
-
},
|
|
151
|
-
async getWorlds(driver) {
|
|
152
|
-
return socket.request('Driver.getWorlds', { driver });
|
|
153
|
-
},
|
|
154
|
-
async switchWorld(driver, name) {
|
|
155
|
-
return socket.request('Driver.switchWorld', { driver, name });
|
|
156
|
-
},
|
|
157
|
-
// #endregion
|
|
158
|
-
};
|
|
159
|
-
return spec.reduce((spec, name) => {
|
|
160
|
-
return Object.assign(spec, { [name]: commands[name] });
|
|
161
|
-
}, {});
|
|
162
|
-
}
|
|
163
|
-
exports.makeSpec = makeSpec;
|
package/dist/universal/types.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.makeServer = void 0;
|
|
4
|
-
const http_1 = require("http");
|
|
5
|
-
const https_1 = require("https");
|
|
6
|
-
const ws_1 = require("ws");
|
|
7
|
-
const { name, version } = require('../../package.json');
|
|
8
|
-
const TOKEN_HEADER = 'x-eyes-universal-token';
|
|
9
|
-
const TOKEN = `${name}@${version}`;
|
|
10
|
-
async function makeServer(options = {}) {
|
|
11
|
-
const { port = 21077, singleton = true, debug = false, portResolutionMode = 'next', cert, key } = options;
|
|
12
|
-
const secure = Boolean(cert && key);
|
|
13
|
-
const http = secure ? new https_1.Server({ cert, key }) : new http_1.Server();
|
|
14
|
-
http.on('request', (request, response) => {
|
|
15
|
-
if (request.url === '/handshake') {
|
|
16
|
-
const token = debug ? request.headers[TOKEN_HEADER] : TOKEN;
|
|
17
|
-
if (request.headers[TOKEN_HEADER] === token) {
|
|
18
|
-
response.writeHead(200, { [TOKEN_HEADER]: token });
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
response.writeHead(400);
|
|
22
|
-
}
|
|
23
|
-
response.end();
|
|
24
|
-
}
|
|
25
|
-
});
|
|
26
|
-
http.listen(port, 'localhost');
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
http.on('listening', () => {
|
|
29
|
-
const ws = new ws_1.Server({ server: http, path: '/eyes', maxPayload: 256 * 1024 * 1024 });
|
|
30
|
-
ws.on('close', () => http.close());
|
|
31
|
-
resolve({ server: ws, port: http.address().port });
|
|
32
|
-
});
|
|
33
|
-
http.on('error', async (err) => {
|
|
34
|
-
if (portResolutionMode !== 'lazy' && err.code === 'EADDRINUSE') {
|
|
35
|
-
if (singleton && (await isHandshakable({ port, secure }))) {
|
|
36
|
-
return resolve({ port });
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
return resolve(await makeServer({ ...options, port: portResolutionMode === 'next' ? port + 1 : 0 }));
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
reject(err);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
exports.makeServer = makeServer;
|
|
47
|
-
async function isHandshakable({ port, secure }) {
|
|
48
|
-
const request = secure ? https_1.request : http_1.request;
|
|
49
|
-
return new Promise(resolve => {
|
|
50
|
-
const handshake = request(`${secure ? 'https' : 'http'}://localhost:${port}/handshake`, {
|
|
51
|
-
headers: { [TOKEN_HEADER]: TOKEN },
|
|
52
|
-
});
|
|
53
|
-
handshake.on('response', ({ statusCode, headers }) => {
|
|
54
|
-
resolve(statusCode === 200 && headers[TOKEN_HEADER] === TOKEN);
|
|
55
|
-
});
|
|
56
|
-
handshake.on('error', () => resolve(false));
|
|
57
|
-
handshake.end();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractCIProvider = void 0;
|
|
4
|
-
function extractCIProvider() {
|
|
5
|
-
if (process.env.TF_BUILD)
|
|
6
|
-
return 'Azure';
|
|
7
|
-
if (process.env['bamboo.buildKey'])
|
|
8
|
-
return 'Bamboo';
|
|
9
|
-
if (process.env.BUILDKITE)
|
|
10
|
-
return 'Buildkite';
|
|
11
|
-
if (process.env.CIRCLECI)
|
|
12
|
-
return 'Circle';
|
|
13
|
-
if (process.env.CIRRUS_CI)
|
|
14
|
-
return 'Cirrus';
|
|
15
|
-
if (process.env.CODEBUILD_BUILD_ID)
|
|
16
|
-
return 'CodeBuild';
|
|
17
|
-
if (process.env.GITHUB_ACTIONS)
|
|
18
|
-
return 'GitHub Actions';
|
|
19
|
-
if (process.env.GITLAB_CI)
|
|
20
|
-
return 'GitLab';
|
|
21
|
-
if (process.env.HEROKU_TEST_RUN_ID)
|
|
22
|
-
return 'Heroku';
|
|
23
|
-
if (process.env.BUILD_ID)
|
|
24
|
-
return 'Jenkins';
|
|
25
|
-
if (process.env.TEAMCITY_VERSION)
|
|
26
|
-
return 'TeamCity';
|
|
27
|
-
if (process.env.TRAVIS)
|
|
28
|
-
return 'Travis';
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
exports.extractCIProvider = extractCIProvider;
|