@applitools/core 1.2.7 → 1.2.9

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.
@@ -6,8 +6,8 @@ const take_screenshot_1 = require("./utils/take-screenshot");
6
6
  function makeLocate({ spec, core, target: defaultTarget, logger: defaultLogger, }) {
7
7
  return async function locate({ target = defaultTarget, settings, logger = defaultLogger, } = {}) {
8
8
  logger.log('Command "locate" is called with settings', settings);
9
- if (!spec.isDriver(target)) {
10
- return core.locate({ target, settings: settings, logger });
9
+ if (!(spec === null || spec === void 0 ? void 0 : spec.isDriver(target))) {
10
+ return core.locate({ target: target, settings: settings, logger });
11
11
  }
12
12
  // TODO driver custom config
13
13
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
package/dist/check.js CHANGED
@@ -31,8 +31,8 @@ const utils = __importStar(require("@applitools/utils"));
31
31
  const chalk_1 = __importDefault(require("chalk"));
32
32
  function makeCheck({ eyes, logger: defaultLogger, }) {
33
33
  return async function check({ target, settings = {}, config, logger = defaultLogger, } = {}) {
34
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
35
- var _r, _s, _t, _u;
34
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
35
+ var _s, _t, _u, _v;
36
36
  settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...config === null || config === void 0 ? void 0 : config.check, ...settings };
37
37
  (_a = settings.fully) !== null && _a !== void 0 ? _a : (settings.fully = !settings.region && (!settings.frames || settings.frames.length === 0));
38
38
  (_b = settings.waitBeforeCapture) !== null && _b !== void 0 ? _b : (settings.waitBeforeCapture = 100);
@@ -43,15 +43,16 @@ function makeCheck({ eyes, logger: defaultLogger, }) {
43
43
  (_g = settings.matchLevel) !== null && _g !== void 0 ? _g : (settings.matchLevel = 'Strict');
44
44
  (_h = settings.ignoreCaret) !== null && _h !== void 0 ? _h : (settings.ignoreCaret = true);
45
45
  (_j = settings.sendDom) !== null && _j !== void 0 ? _j : (settings.sendDom = eyes.test.account.rcaEnabled || settings.matchLevel === 'Layout' || settings.enablePatterns || settings.useDom);
46
- (_k = settings.useDom) !== null && _k !== void 0 ? _k : (settings.useDom = false);
47
- (_l = (_r = settings).retryTimeout) !== null && _l !== void 0 ? _l : (_r.retryTimeout = 2000);
46
+ (_k = settings.autProxy) !== null && _k !== void 0 ? _k : (settings.autProxy = eyes.test.server.proxy);
47
+ (_l = settings.useDom) !== null && _l !== void 0 ? _l : (settings.useDom = false);
48
+ (_m = (_s = settings).retryTimeout) !== null && _m !== void 0 ? _m : (_s.retryTimeout = 2000);
48
49
  settings.lazyLoad = settings.lazyLoad === true ? {} : settings.lazyLoad;
49
50
  if (settings.lazyLoad) {
50
- (_m = (_s = settings.lazyLoad).scrollLength) !== null && _m !== void 0 ? _m : (_s.scrollLength = 300);
51
- (_o = (_t = settings.lazyLoad).waitingTime) !== null && _o !== void 0 ? _o : (_t.waitingTime = 2000);
52
- (_p = (_u = settings.lazyLoad).maxAmountToScroll) !== null && _p !== void 0 ? _p : (_u.maxAmountToScroll = 15000);
51
+ (_o = (_t = settings.lazyLoad).scrollLength) !== null && _o !== void 0 ? _o : (_t.scrollLength = 300);
52
+ (_p = (_u = settings.lazyLoad).waitingTime) !== null && _p !== void 0 ? _p : (_u.waitingTime = 2000);
53
+ (_q = (_v = settings.lazyLoad).maxAmountToScroll) !== null && _q !== void 0 ? _q : (_v.maxAmountToScroll = 15000);
53
54
  }
54
- (_q = settings.waitBetweenStitches) !== null && _q !== void 0 ? _q : (settings.waitBetweenStitches = utils.types.isObject(settings.lazyLoad) ? settings.lazyLoad.waitingTime : 100);
55
+ (_r = settings.waitBetweenStitches) !== null && _r !== void 0 ? _r : (settings.waitBetweenStitches = utils.types.isObject(settings.lazyLoad) ? settings.lazyLoad.waitingTime : 100);
55
56
  if (settings.matchLevel === 'Content') {
56
57
  logger.console.log(chalk_1.default.yellow(`The "Content" match level value has been deprecated, use "IgnoreColors" instead.`));
57
58
  }
@@ -33,8 +33,12 @@ const utils = __importStar(require("@applitools/utils"));
33
33
  function makeCheckAndClose({ spec, eyes, target: defaultTarget, logger: defaultLogger, }) {
34
34
  return async function checkAndClose({ target = defaultTarget, settings, logger = defaultLogger, } = {}) {
35
35
  logger.log('Command "checkAndClose" is called with settings', settings);
36
- if (!spec.isDriver(target)) {
37
- return eyes.checkAndClose({ target, settings: settings, logger });
36
+ if (!(spec === null || spec === void 0 ? void 0 : spec.isDriver(target))) {
37
+ return eyes.checkAndClose({
38
+ target: target,
39
+ settings: settings,
40
+ logger,
41
+ });
38
42
  }
39
43
  // TODO driver custom config
40
44
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
@@ -34,8 +34,8 @@ function makeCheck({ spec, eyes, target: defaultTarget, logger: defaultLogger, }
34
34
  return async function check({ target = defaultTarget, settings = {}, logger = defaultLogger, } = {}) {
35
35
  var _a;
36
36
  logger.log('Command "check" is called with settings', settings);
37
- if (!spec.isDriver(target)) {
38
- return eyes.check({ target, settings: settings, logger });
37
+ if (!(spec === null || spec === void 0 ? void 0 : spec.isDriver(target))) {
38
+ return eyes.check({ target: target, settings: settings, logger });
39
39
  }
40
40
  // TODO driver custom config
41
41
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
@@ -32,8 +32,8 @@ const snippets_1 = require("@applitools/snippets");
32
32
  function makeExtractText({ spec, eyes, target: defaultTarget, logger: defaultLogger, }) {
33
33
  return async function extractText({ target = defaultTarget, settings, logger = defaultLogger, } = {}) {
34
34
  logger.log('Command "extractText" is called with settings', settings);
35
- if (!spec.isDriver(target)) {
36
- return eyes.extractText({ target, settings: settings, logger });
35
+ if (!(spec === null || spec === void 0 ? void 0 : spec.isDriver(target))) {
36
+ return eyes.extractText({ target: target, settings: settings, logger });
37
37
  }
38
38
  settings = utils.types.isArray(settings) ? settings : [settings];
39
39
  // TODO driver custom config
@@ -31,8 +31,8 @@ const utils = __importStar(require("@applitools/utils"));
31
31
  function makeLocateText({ spec, eyes, target: defaultTarget, logger: defaultLogger, }) {
32
32
  return async function locateText({ target = defaultTarget, settings, logger = defaultLogger, } = {}) {
33
33
  logger.log('Command "locateText" is called with settings', settings);
34
- if (!spec.isDriver(target)) {
35
- return eyes.locateText({ target, settings: settings, logger });
34
+ if (!(spec === null || spec === void 0 ? void 0 : spec.isDriver(target))) {
35
+ return eyes.locateText({ target: target, settings: settings, logger });
36
36
  }
37
37
  // TODO driver custom config
38
38
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
@@ -32,7 +32,8 @@ const extract_text_1 = require("./extract-text");
32
32
  const utils = __importStar(require("@applitools/utils"));
33
33
  function makeOpenEyes({ spec, core, logger: defaultLogger, }) {
34
34
  return async function openEyes({ target, settings, logger = defaultLogger, }) {
35
- var _a, _b, _c;
35
+ var _a, _b, _c, _d, _e;
36
+ var _f;
36
37
  logger.log(`Command "openEyes" is called with ${(spec === null || spec === void 0 ? void 0 : spec.isDriver(target)) ? 'default driver and' : ''} settings`, settings);
37
38
  // TODO driver custom config
38
39
  const driver = (spec === null || spec === void 0 ? void 0 : spec.isDriver(target))
@@ -47,8 +48,13 @@ function makeOpenEyes({ spec, core, logger: defaultLogger, }) {
47
48
  else {
48
49
  await driver.setViewportSize(settings.environment.viewportSize);
49
50
  }
50
- if (!settings.environment.userAgent && driver.isWeb) {
51
- settings.environment.userAgent = driver.userAgent;
51
+ if (driver.isWeb) {
52
+ (_b = (_f = settings.environment).userAgent) !== null && _b !== void 0 ? _b : (_f.userAgent = driver.userAgent);
53
+ if (driver.isChromium &&
54
+ ((driver.isWindows && Number.parseInt(driver.browserVersion) >= 107) ||
55
+ (driver.isMac && Number.parseInt(driver.browserVersion) >= 90))) {
56
+ settings.environment.os = `${driver.platformName} ${(_c = driver.platformVersion) !== null && _c !== void 0 ? _c : ''}`.trim();
57
+ }
52
58
  }
53
59
  if (!settings.environment.deviceName && driver.deviceName) {
54
60
  settings.environment.deviceName = driver.deviceName;
@@ -56,10 +62,10 @@ function makeOpenEyes({ spec, core, logger: defaultLogger, }) {
56
62
  if (!settings.environment.os && driver.isNative && driver.platformName) {
57
63
  settings.environment.os = driver.platformName;
58
64
  if (!settings.keepPlatformNameAsIs) {
59
- if ((_b = settings.environment.os) === null || _b === void 0 ? void 0 : _b.startsWith('android')) {
65
+ if ((_d = settings.environment.os) === null || _d === void 0 ? void 0 : _d.startsWith('android')) {
60
66
  settings.environment.os = `Android${settings.environment.os.slice(7)}`;
61
67
  }
62
- if ((_c = settings.environment.os) === null || _c === void 0 ? void 0 : _c.startsWith('ios')) {
68
+ if ((_e = settings.environment.os) === null || _e === void 0 ? void 0 : _e.startsWith('ios')) {
63
69
  settings.environment.os = `iOS${settings.environment.os.slice(3)}`;
64
70
  }
65
71
  }
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.takeDomCapture = void 0;
7
7
  const dom_capture_1 = require("@applitools/dom-capture");
8
- const execute_poll_script_1 = require("../../utils/execute-poll-script");
9
8
  const req_1 = __importDefault(require("@applitools/req"));
10
9
  async function takeDomCapture({ driver, settings, logger, }) {
11
10
  var _a;
@@ -15,18 +14,12 @@ async function takeDomCapture({ driver, settings, logger, }) {
15
14
  chunkByteLength: (_a = settings === null || settings === void 0 ? void 0 : settings.chunkByteLength) !== null && _a !== void 0 ? _a : (Number(process.env.APPLITOOLS_SCRIPT_RESULT_MAX_BYTE_LENGTH) || (driver.isIOS ? 100000 : 250 * 1024 * 1024)),
16
15
  };
17
16
  const scripts = {
18
- main: {
19
- script: canExecuteOnlyFunctionScripts
20
- ? require('@applitools/dom-capture').captureDomPoll
21
- : `return (${isLegacyBrowser ? await (0, dom_capture_1.getCaptureDomPollForIE)() : await (0, dom_capture_1.getCaptureDomPoll)()}).apply(null, arguments);`,
22
- args: [arg],
23
- },
24
- poll: {
25
- script: canExecuteOnlyFunctionScripts
26
- ? require('@applitools/dom-capture').pollResult
27
- : `return (${isLegacyBrowser ? await (0, dom_capture_1.getPollResultForIE)() : await (0, dom_capture_1.getPollResult)()}).apply(null, arguments);`,
28
- args: [arg],
29
- },
17
+ main: canExecuteOnlyFunctionScripts
18
+ ? require('@applitools/dom-capture').captureDomPoll
19
+ : `return (${isLegacyBrowser ? await (0, dom_capture_1.getCaptureDomPollForIE)() : await (0, dom_capture_1.getCaptureDomPoll)()}).apply(null, arguments);`,
20
+ poll: canExecuteOnlyFunctionScripts
21
+ ? require('@applitools/dom-capture').pollResult
22
+ : `return (${isLegacyBrowser ? await (0, dom_capture_1.getPollResultForIE)() : await (0, dom_capture_1.getPollResult)()}).apply(null, arguments);`,
30
23
  };
31
24
  const url = await driver.getUrl();
32
25
  const dom = await captureContextDom(driver.mainContext);
@@ -34,11 +27,11 @@ async function takeDomCapture({ driver, settings, logger, }) {
34
27
  return dom;
35
28
  async function captureContextDom(context) {
36
29
  var _a, _b;
37
- const capture = await (0, execute_poll_script_1.executePollScript)({
38
- context,
39
- scripts,
40
- settings: { executionTimeout: (_a = settings === null || settings === void 0 ? void 0 : settings.executionTimeout) !== null && _a !== void 0 ? _a : 5 * 60 * 1000, pollTimeout: (_b = settings === null || settings === void 0 ? void 0 : settings.pollTimeout) !== null && _b !== void 0 ? _b : 200 },
41
- logger,
30
+ const capture = await context.executePoll(scripts, {
31
+ main: arg,
32
+ poll: arg,
33
+ executionTimeout: (_a = settings === null || settings === void 0 ? void 0 : settings.executionTimeout) !== null && _a !== void 0 ? _a : 5 * 60 * 1000,
34
+ pollTimeout: (_b = settings === null || settings === void 0 ? void 0 : settings.pollTimeout) !== null && _b !== void 0 ? _b : 200,
42
35
  });
43
36
  if (!capture)
44
37
  return {};
package/dist/close.js CHANGED
@@ -14,7 +14,23 @@ function makeClose({ eyes, logger: defaultLogger, }) {
14
14
  throw new test_error_1.TestError(result);
15
15
  });
16
16
  }
17
- return results;
17
+ return results.length > 0
18
+ ? results
19
+ : [
20
+ {
21
+ userTestId: eyes.test.userTestId,
22
+ name: '',
23
+ steps: 0,
24
+ matches: 0,
25
+ mismatches: 0,
26
+ missing: 0,
27
+ exactMatches: 0,
28
+ strictMatches: 0,
29
+ contentMatches: 0,
30
+ layoutMatches: 0,
31
+ noneMatches: 0,
32
+ },
33
+ ];
18
34
  };
19
35
  }
20
36
  exports.makeClose = makeClose;
package/dist/core.js CHANGED
@@ -34,15 +34,15 @@ const make_manager_1 = require("./make-manager");
34
34
  const close_batch_1 = require("./close-batch");
35
35
  const delete_test_1 = require("./delete-test");
36
36
  const utils = __importStar(require("@applitools/utils"));
37
- function makeCore({ spec, concurrency, core, agentId = 'core', cwd = process.cwd(), logger, }) {
37
+ function makeCore({ spec, concurrency, core, agentId = 'core', cwd = process.cwd(), logger, } = {}) {
38
38
  var _a;
39
39
  logger = (_a = logger === null || logger === void 0 ? void 0 : logger.extend({ label: 'core' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core' });
40
40
  logger.log(`Core is initialized ${core ? 'with' : 'without'} custom base core`);
41
41
  core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
42
42
  return utils.general.extend(core, {
43
- isDriver: spec.isDriver,
44
- isElement: spec.isElement,
45
- isSelector: spec.isSelector,
43
+ isDriver: spec === null || spec === void 0 ? void 0 : spec.isDriver,
44
+ isElement: spec === null || spec === void 0 ? void 0 : spec.isElement,
45
+ isSelector: spec === null || spec === void 0 ? void 0 : spec.isSelector,
46
46
  getViewportSize: (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
47
47
  setViewportSize: (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
48
48
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
@@ -27,9 +27,19 @@ exports.makeExtractText = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
28
  function makeExtractText({ eyes, logger: defaultLogger, }) {
29
29
  return async function extractText({ target, settings, config, logger = defaultLogger, }) {
30
- settings = utils.types.isArray(settings)
31
- ? settings.map(settings => ({ ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings }))
32
- : { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
30
+ var _a;
31
+ if (utils.types.isArray(settings)) {
32
+ settings = settings.map(settings => {
33
+ var _a;
34
+ settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
35
+ (_a = settings.autProxy) !== null && _a !== void 0 ? _a : (settings.autProxy = eyes.test.server.proxy);
36
+ return settings;
37
+ });
38
+ }
39
+ else {
40
+ settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
41
+ (_a = settings.autProxy) !== null && _a !== void 0 ? _a : (settings.autProxy = eyes.test.server.proxy);
42
+ }
33
43
  const results = await eyes.extractText({ target: target, settings, logger });
34
44
  return results;
35
45
  };
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeLocateText = void 0;
4
4
  function makeLocateText({ eyes, logger: defaultLogger, }) {
5
5
  return async function locateText({ target, settings, config, logger = defaultLogger, }) {
6
+ var _a;
6
7
  settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
8
+ (_a = settings.autProxy) !== null && _a !== void 0 ? _a : (settings.autProxy = eyes.test.server.proxy);
7
9
  const results = await eyes.locateText({ target: target, settings, logger });
8
10
  return results;
9
11
  };
@@ -25,7 +25,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.extractCrossFrames = exports.deserializeDomSnapshot = exports.takeDomSnapshot = void 0;
27
27
  const dom_snapshot_1 = require("@applitools/dom-snapshot");
28
- const execute_poll_script_1 = require("../../utils/execute-poll-script");
29
28
  const utils = __importStar(require("@applitools/utils"));
30
29
  async function takeDomSnapshot({ context, settings, logger, }) {
31
30
  var _a;
@@ -42,18 +41,12 @@ async function takeDomSnapshot({ context, settings, logger, }) {
42
41
  showLogs: settings === null || settings === void 0 ? void 0 : settings.showLogs,
43
42
  };
44
43
  const scripts = {
45
- main: {
46
- script: canExecuteOnlyFunctionScripts
47
- ? require('@applitools/dom-snapshot').processPagePoll
48
- : `return (${isLegacyBrowser ? await (0, dom_snapshot_1.getProcessPagePollForIE)() : await (0, dom_snapshot_1.getProcessPagePoll)()}).apply(null, arguments);`,
49
- args: [arg],
50
- },
51
- poll: {
52
- script: canExecuteOnlyFunctionScripts
53
- ? require('@applitools/dom-snapshot').pollResult
54
- : `return (${isLegacyBrowser ? await (0, dom_snapshot_1.getPollResultForIE)() : await (0, dom_snapshot_1.getPollResult)()}).apply(null, arguments);`,
55
- args: [arg],
56
- },
44
+ main: canExecuteOnlyFunctionScripts
45
+ ? require('@applitools/dom-snapshot').processPagePoll
46
+ : `return (${isLegacyBrowser ? await (0, dom_snapshot_1.getProcessPagePollForIE)() : await (0, dom_snapshot_1.getProcessPagePoll)()}).apply(null, arguments);`,
47
+ poll: canExecuteOnlyFunctionScripts
48
+ ? require('@applitools/dom-snapshot').pollResult
49
+ : `return (${isLegacyBrowser ? await (0, dom_snapshot_1.getPollResultForIE)() : await (0, dom_snapshot_1.getPollResult)()}).apply(null, arguments);`,
57
50
  };
58
51
  const cookies = driver.features.allCookies ? await driver.getCookies().catch(() => []) : [];
59
52
  const snapshot = await takeContextDomSnapshot({ context });
@@ -65,11 +58,11 @@ async function takeDomSnapshot({ context, settings, logger, }) {
65
58
  if (!driver.features.allCookies) {
66
59
  cookies.push(...(await context.getCookies()));
67
60
  }
68
- const snapshot = await (0, execute_poll_script_1.executePollScript)({
69
- context,
70
- scripts,
71
- settings: { executionTimeout: (_a = settings === null || settings === void 0 ? void 0 : settings.executionTimeout) !== null && _a !== void 0 ? _a : 5 * 60 * 1000, pollTimeout: (_b = settings === null || settings === void 0 ? void 0 : settings.pollTimeout) !== null && _b !== void 0 ? _b : 200 },
72
- logger,
61
+ const snapshot = await context.executePoll(scripts, {
62
+ main: arg,
63
+ poll: arg,
64
+ executionTimeout: (_a = settings === null || settings === void 0 ? void 0 : settings.executionTimeout) !== null && _a !== void 0 ? _a : 5 * 60 * 1000,
65
+ pollTimeout: (_b = settings === null || settings === void 0 ? void 0 : settings.pollTimeout) !== null && _b !== void 0 ? _b : 200,
73
66
  });
74
67
  const crossFrames = extractCrossFrames({ snapshot, logger });
75
68
  for (const { reference, parentSnapshot, cdtNode } of crossFrames) {
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForLazyLoad = void 0;
4
4
  const snippets_1 = require("@applitools/snippets");
5
- const execute_poll_script_1 = require("./execute-poll-script");
6
5
  async function waitForLazyLoad({ driver, settings, logger, }) {
7
6
  var _a, _b, _c, _d, _e;
8
7
  logger.log('lazy loading the page before capturing a screenshot');
@@ -11,15 +10,11 @@ async function waitForLazyLoad({ driver, settings, logger, }) {
11
10
  waitingTime: (_b = settings.waitingTime) !== null && _b !== void 0 ? _b : 2000,
12
11
  maxAmountToScroll: (_c = settings.maxAmountToScroll) !== null && _c !== void 0 ? _c : 15000,
13
12
  };
14
- const scripts = {
15
- main: { script: snippets_1.lazyLoad, args: [[arg]] },
16
- poll: { script: snippets_1.lazyLoad, args: [[]] },
17
- };
18
- await (0, execute_poll_script_1.executePollScript)({
19
- context: driver.currentContext,
20
- scripts,
21
- settings: { executionTimeout: 5 * 60 * 1000, pollTimeout: (_e = (_d = settings.pollTimeout) !== null && _d !== void 0 ? _d : settings.waitingTime) !== null && _e !== void 0 ? _e : 2000 },
22
- logger,
13
+ await driver.currentContext.executePoll(snippets_1.lazyLoad, {
14
+ main: [arg],
15
+ poll: [],
16
+ executionTimeout: 5 * 60 * 1000,
17
+ pollTimeout: (_e = (_d = settings.pollTimeout) !== null && _d !== void 0 ? _d : settings.waitingTime) !== null && _e !== void 0 ? _e : 2000,
23
18
  });
24
19
  }
25
20
  exports.waitForLazyLoad = waitForLazyLoad;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "1.2.7",
3
+ "version": "1.2.9",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -61,27 +61,27 @@
61
61
  }
62
62
  },
63
63
  "dependencies": {
64
- "@applitools/core-base": "1.1.8",
64
+ "@applitools/core-base": "1.1.12",
65
65
  "@applitools/dom-capture": "11.2.0",
66
66
  "@applitools/dom-snapshot": "4.7.0",
67
- "@applitools/driver": "1.11.1",
68
- "@applitools/logger": "1.1.27",
69
- "@applitools/nml-client": "1.3.5",
70
- "@applitools/req": "1.1.12",
71
- "@applitools/screenshoter": "3.7.2",
72
- "@applitools/snippets": "2.4.6",
73
- "@applitools/ufg-client": "1.1.2",
74
- "@applitools/utils": "1.3.13",
67
+ "@applitools/driver": "1.11.5",
68
+ "@applitools/logger": "1.1.29",
69
+ "@applitools/nml-client": "1.3.8",
70
+ "@applitools/req": "1.1.15",
71
+ "@applitools/screenshoter": "3.7.6",
72
+ "@applitools/snippets": "2.4.7",
73
+ "@applitools/ufg-client": "1.1.4",
74
+ "@applitools/utils": "1.3.15",
75
75
  "abort-controller": "3.0.0",
76
76
  "throat": "6.0.1"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@applitools/bongo": "^2.2.0",
80
80
  "@applitools/sdk-fake-eyes-server": "^2.1.3",
81
- "@applitools/spec-driver-puppeteer": "^1.1.18",
82
- "@applitools/spec-driver-selenium": "^1.5.4",
83
- "@applitools/spec-driver-webdriverio": "^1.4.2",
84
- "@applitools/test-server": "^1.1.8",
81
+ "@applitools/spec-driver-puppeteer": "^1.1.21",
82
+ "@applitools/spec-driver-selenium": "^1.5.7",
83
+ "@applitools/spec-driver-webdriverio": "^1.4.5",
84
+ "@applitools/test-server": "^1.1.10",
85
85
  "@applitools/test-utils": "^1.5.2",
86
86
  "@types/mocha": "^9.1.1",
87
87
  "@types/node": "12",
@@ -1,5 +1,5 @@
1
1
  import type { Target, LocateSettings, LocateResult } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
2
+ import type { Core as BaseCore, Target as BaseTarget } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type SpecDriver } from '@applitools/driver';
5
5
  declare type Options<TDriver, TContext, TElement, TSelector> = {
@@ -9,7 +9,7 @@ declare type Options<TDriver, TContext, TElement, TSelector> = {
9
9
  logger?: Logger;
10
10
  };
11
11
  export declare function makeLocate<TDriver, TContext, TElement, TSelector>({ spec, core, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TLocator extends string>({ target, settings, logger, }?: {
12
- target?: Target<TDriver>;
12
+ target?: Target<TDriver> | BaseTarget;
13
13
  settings?: LocateSettings<TLocator, TElement, TSelector>;
14
14
  logger?: Logger;
15
15
  }) => Promise<LocateResult<TLocator>>;
@@ -1,9 +1,10 @@
1
1
  import { type Driver } from '@applitools/driver';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type PollScriptSettings } from '../../utils/execute-poll-script';
4
3
  import { type Fetch } from '@applitools/req';
5
- export declare type DomCaptureSettings = Partial<PollScriptSettings> & {
4
+ export declare type DomCaptureSettings = {
6
5
  fetch?: Fetch;
6
+ executionTimeout?: number;
7
+ pollTimeout?: number;
7
8
  chunkByteLength?: number;
8
9
  };
9
10
  export declare function takeDomCapture<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, logger, }: {
package/types/core.d.ts CHANGED
@@ -3,12 +3,12 @@ import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type SpecDriver } from '@applitools/driver';
4
4
  import { type Logger } from '@applitools/logger';
5
5
  declare type Options<TDriver, TContext, TElement, TSelector> = {
6
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
6
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
7
  concurrency?: number;
8
8
  core?: BaseCore;
9
9
  agentId?: string;
10
10
  cwd?: string;
11
11
  logger?: Logger;
12
12
  };
13
- export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, concurrency, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TElement, TSelector>;
13
+ export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, concurrency, core, agentId, cwd, logger, }?: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TElement, TSelector>;
14
14
  export {};
package/types/types.d.ts CHANGED
@@ -42,13 +42,13 @@ export interface EyesManager<TDriver, TElement, TSelector, TType extends 'classi
42
42
  }) => Promise<TestResultSummary<TType>>;
43
43
  }
44
44
  export interface ClassicEyes<TDriver, TElement, TSelector, TTarget = Target<TDriver, 'classic'>> extends ClassicCore.Eyes<TDriver, TElement, TSelector, TTarget> {
45
- check(options: {
45
+ check(options?: {
46
46
  target?: TTarget;
47
47
  settings?: Partial<CheckSettings<TElement, TSelector, 'classic'>>;
48
48
  config?: Config<TElement, TSelector, 'classic'>;
49
49
  logger?: Logger;
50
50
  }): Promise<CheckResult<'classic'>[]>;
51
- checkAndClose(options: {
51
+ checkAndClose(options?: {
52
52
  target?: TTarget;
53
53
  settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CloseSettings<'classic'>>;
54
54
  config?: Config<TElement, TSelector, 'classic'>;
@@ -73,13 +73,13 @@ export interface ClassicEyes<TDriver, TElement, TSelector, TTarget = Target<TDri
73
73
  }): Promise<TestResult<'classic'>[]>;
74
74
  }
75
75
  export interface UFGEyes<TDriver, TElement, TSelector, TTarget = Target<TDriver, 'ufg'>> extends UFGCore.Eyes<TDriver, TElement, TSelector, TTarget> {
76
- check(options: {
76
+ check(options?: {
77
77
  target?: TTarget;
78
78
  settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'>>;
79
79
  config?: Config<TElement, TSelector, 'ufg'>;
80
80
  logger?: Logger;
81
81
  }): Promise<CheckResult<'ufg'>[]>;
82
- checkAndClose(options: {
82
+ checkAndClose(options?: {
83
83
  target?: TTarget;
84
84
  settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CloseSettings<'ufg'>>;
85
85
  config?: Config<TElement, TSelector, 'ufg'>;
@@ -1,11 +1,12 @@
1
1
  import { type Logger } from '@applitools/logger';
2
2
  import { type Context } from '@applitools/driver';
3
3
  import { type DomSnapshot } from '@applitools/ufg-client';
4
- import { type PollScriptSettings } from '../../utils/execute-poll-script';
5
- export declare type DomSnapshotSettings = Partial<PollScriptSettings> & {
4
+ export declare type DomSnapshotSettings = {
6
5
  disableBrowserFetching?: boolean;
7
6
  skipResources?: string[];
8
7
  chunkByteLength?: number;
8
+ executionTimeout?: number;
9
+ pollTimeout?: number;
9
10
  showLogs?: boolean;
10
11
  };
11
12
  export declare function takeDomSnapshot<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, settings, logger, }: {
@@ -1,10 +1,11 @@
1
1
  import { type Logger } from '@applitools/logger';
2
2
  import { type Driver } from '@applitools/driver';
3
- import { type PollScriptSettings } from './execute-poll-script';
4
- export declare type LazyLoadSettings = Partial<PollScriptSettings> & {
3
+ export declare type LazyLoadSettings = {
5
4
  scrollLength?: number;
6
5
  waitingTime?: number;
7
6
  maxAmountToScroll?: number;
7
+ executionTimeout?: number;
8
+ pollTimeout?: number;
8
9
  };
9
10
  export declare function waitForLazyLoad<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, logger, }: {
10
11
  driver: TDriver;
@@ -1,75 +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.executePollScript = void 0;
27
- const core_base_1 = require("@applitools/core-base");
28
- const utils = __importStar(require("@applitools/utils"));
29
- async function executePollScript({ context, scripts, settings, logger, }) {
30
- logger.log('Executing poll script');
31
- let isExecutionTimedOut = false;
32
- const executionTimer = setTimeout(() => (isExecutionTimedOut = true), settings.executionTimeout);
33
- try {
34
- const { script, args = [] } = scripts.main;
35
- let response = deserialize(await context.execute(script, ...args));
36
- let chunks = '';
37
- while (!isExecutionTimedOut) {
38
- if (response.status === 'ERROR') {
39
- throw new core_base_1.CoreError(`Error during execute poll script: '${response.error}'`, {
40
- reason: 'poll script',
41
- error: response.error,
42
- });
43
- }
44
- else if (response.status === 'SUCCESS') {
45
- return response.value;
46
- }
47
- else if (response.status === 'SUCCESS_CHUNKED') {
48
- chunks += response.value;
49
- if (response.done)
50
- return deserialize(chunks);
51
- }
52
- else if (response.status === 'WIP') {
53
- await utils.general.sleep(settings.pollTimeout);
54
- }
55
- logger.log('Polling...');
56
- const { script, args = [] } = scripts.poll;
57
- response = deserialize(await context.execute(script, ...args));
58
- }
59
- throw new core_base_1.CoreError('Poll script execution is timed out', { reason: 'timeout' });
60
- }
61
- finally {
62
- clearTimeout(executionTimer);
63
- }
64
- function deserialize(json) {
65
- try {
66
- return JSON.parse(json);
67
- }
68
- catch (err) {
69
- const firstChars = json.slice(0, 100);
70
- const lastChars = json.slice(-100);
71
- throw new Error(`Response is not a valid JSON string. length: ${json.length}, first 100 chars: "${firstChars}", last 100 chars: "${lastChars}". error: ${err}`);
72
- }
73
- }
74
- }
75
- exports.executePollScript = executePollScript;
@@ -1,20 +0,0 @@
1
- import { type Context } from '@applitools/driver';
2
- import { type Logger } from '@applitools/logger';
3
- export declare type PollScriptSettings = {
4
- executionTimeout: number;
5
- pollTimeout: number;
6
- };
7
- declare type Script = {
8
- script: string | ((...args: any[]) => any);
9
- args: any[];
10
- };
11
- export declare function executePollScript<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, scripts, settings, logger, }: {
12
- context: TContext;
13
- scripts: {
14
- main: Script;
15
- poll: Script;
16
- };
17
- settings: PollScriptSettings;
18
- logger: Logger;
19
- }): Promise<any>;
20
- export {};