@applitools/eyes-puppeteer 1.8.1 → 1.8.5

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
@@ -3,6 +3,35 @@
3
3
  ## Unreleased
4
4
 
5
5
 
6
+ ## 1.8.5 - 2021/10/30
7
+
8
+ - updated to @applitools/eyes-sdk-core@12.23.22 (from 12.23.18)
9
+ - updated to @applitools/utils@1.2.4 (from 1.2.3)
10
+ - updated to @applitools/visual-grid-client@15.8.41 (from 15.8.37)
11
+ - updated to @applitools/eyes-api@1.1.5 (from 1.1.4)
12
+ - updated to @applitools/eyes-sdk-core@12.23.23 (from 12.23.22)
13
+ - updated to @applitools/visual-grid-client@15.8.42 (from 15.8.41)
14
+ - updated to @applitools/eyes-sdk-core@12.23.24 (from 12.23.23)
15
+ - updated to @applitools/visual-grid-client@15.8.43 (from 15.8.42)
16
+
17
+ ## 1.8.4 - 2021/10/20
18
+
19
+ - updated to @applitools/eyes-sdk-core@12.23.18 (from 12.23.17)
20
+ - updated to @applitools/visual-grid-client@15.8.37 (from 15.8.36)
21
+
22
+ ## 1.8.3 - 2021/10/18
23
+
24
+ - updated to @applitools/eyes-api@1.1.4 (from 1.0.12)
25
+ - updated to @applitools/eyes-sdk-core@12.23.17 (from 12.22.6)
26
+ - updated to @applitools/utils@1.2.3 (from 1.2.2)
27
+ - updated to @applitools/visual-grid-client@15.8.36 (from 15.8.20)
28
+
29
+ ## 1.8.2 - 2021/8/13
30
+
31
+ - updated to @applitools/eyes-api@1.0.12 (from 1.0.11)
32
+ - updated to @applitools/eyes-sdk-core@12.22.6 (from 12.22.4)
33
+ - updated to @applitools/visual-grid-client@15.8.20 (from 15.8.18)
34
+
6
35
  ## 1.8.1 - 2021/8/9
7
36
 
8
37
  - updated to @applitools/eyes-sdk-core@12.22.4 (from 12.22.3)
package/dist/api.js CHANGED
@@ -6,14 +6,26 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
6
6
  if (k2 === undefined) k2 = k;
7
7
  o[k2] = m[k];
8
8
  }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
9
21
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
22
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
23
  };
12
24
  Object.defineProperty(exports, "__esModule", { value: true });
13
25
  exports.BatchClose = exports.Target = exports.CheckSettings = exports.Configuration = exports.Eyes = void 0;
14
26
  const eyes_sdk_core_1 = require("@applitools/eyes-sdk-core");
15
- const api = require("@applitools/eyes-api");
16
- const spec = require("./spec-driver");
27
+ const api = __importStar(require("@applitools/eyes-api"));
28
+ const spec = __importStar(require("./spec-driver"));
17
29
  const sdk = eyes_sdk_core_1.makeSDK({
18
30
  name: 'eyes.puppeteer',
19
31
  version: require('../package.json').version,
@@ -38,4 +50,3 @@ class BatchClose extends api.BatchClose {
38
50
  }
39
51
  exports.BatchClose = BatchClose;
40
52
  BatchClose._spec = sdk;
41
- //# sourceMappingURL=api.js.map
package/dist/index.js CHANGED
@@ -11,4 +11,3 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./api"), exports);
14
- //# sourceMappingURL=index.js.map
@@ -1,7 +1,26 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.setViewportSize = exports.getViewportSize = exports.getElementRect = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractContext = exports.isSelector = exports.isElement = exports.isContext = exports.isDriver = void 0;
4
- const utils = require("@applitools/utils");
22
+ exports.build = exports.waitUntilDisplayed = exports.scrollIntoView = exports.hover = exports.type = exports.click = exports.takeScreenshot = exports.visit = exports.getUrl = exports.getTitle = exports.setViewportSize = exports.getViewportSize = exports.findElements = exports.findElement = exports.childContext = exports.parentContext = exports.mainContext = exports.executeScript = exports.isStaleElementError = exports.extractContext = exports.transformSelector = exports.isSelector = exports.isElement = exports.isContext = exports.isDriver = void 0;
23
+ const utils = __importStar(require("@applitools/utils"));
5
24
  async function handleToObject(handle) {
6
25
  const [, type] = handle.toString().split('@');
7
26
  if (type === 'array') {
@@ -20,14 +39,6 @@ async function handleToObject(handle) {
20
39
  return handle.jsonValue();
21
40
  }
22
41
  }
23
- function transformSelector(selector) {
24
- if (utils.types.has(selector, ['type', 'selector']))
25
- return selector.selector;
26
- return selector;
27
- }
28
- function isXpath(selector) {
29
- return selector.startsWith('//') || selector.startsWith('..');
30
- }
31
42
  function transformArgument(arg) {
32
43
  const elements = [];
33
44
  const argWithElementMarkers = transform(arg);
@@ -73,28 +84,37 @@ function scriptRunner(script, arg, ...elements) {
73
84
  }
74
85
  }
75
86
  }
87
+ function isXpath(selector) {
88
+ return selector.startsWith('//') || selector.startsWith('..');
89
+ }
76
90
  function isDriver(page) {
77
91
  if (!page)
78
92
  return false;
79
- return page.constructor.name === 'Page';
93
+ return utils.types.instanceOf(page, 'Page');
80
94
  }
81
95
  exports.isDriver = isDriver;
82
96
  function isContext(frame) {
83
97
  if (!frame)
84
98
  return false;
85
- return frame.constructor.name === 'Frame';
99
+ return utils.types.instanceOf(frame, 'Frame');
86
100
  }
87
101
  exports.isContext = isContext;
88
102
  function isElement(element) {
89
103
  if (!element)
90
104
  return false;
91
- return element.constructor.name === 'ElementHandle';
105
+ return utils.types.instanceOf(element, 'ElementHandle');
92
106
  }
93
107
  exports.isElement = isElement;
94
108
  function isSelector(selector) {
95
- return utils.types.isString(selector) || utils.types.has(selector, ['type', 'selector']);
109
+ return utils.types.isString(selector);
96
110
  }
97
111
  exports.isSelector = isSelector;
112
+ function transformSelector(selector) {
113
+ if (utils.types.has(selector, 'selector'))
114
+ return selector.selector;
115
+ return selector;
116
+ }
117
+ exports.transformSelector = transformSelector;
98
118
  function extractContext(page) {
99
119
  return isDriver(page) ? page.mainFrame() : page;
100
120
  }
@@ -107,7 +127,7 @@ function isStaleElementError(err) {
107
127
  }
108
128
  exports.isStaleElementError = isStaleElementError;
109
129
  async function executeScript(frame, script, arg) {
110
- script = utils.types.isString(script) ? script : script.toString();
130
+ script = utils.types.isString(script) ? script : `function() {return (${script.toString()}).apply(null, arguments)}`;
111
131
  const result = await frame.evaluateHandle(scriptRunner, script, ...transformArgument(arg));
112
132
  return handleToObject(result);
113
133
  }
@@ -130,21 +150,16 @@ async function childContext(_frame, element) {
130
150
  return element.contentFrame();
131
151
  }
132
152
  exports.childContext = childContext;
133
- async function findElement(frame, selector) {
134
- selector = transformSelector(selector);
135
- return isXpath(selector) ? frame.$x(selector).then(elements => elements[0]) : frame.$(selector);
153
+ async function findElement(frame, selector, parent) {
154
+ const root = parent !== null && parent !== void 0 ? parent : frame;
155
+ return isXpath(selector) ? root.$x(selector).then(elements => elements[0]) : root.$(selector);
136
156
  }
137
157
  exports.findElement = findElement;
138
- async function findElements(frame, selector) {
139
- selector = transformSelector(selector);
140
- return isXpath(selector) ? frame.$x(selector) : frame.$$(selector);
158
+ async function findElements(frame, selector, parent) {
159
+ const root = parent !== null && parent !== void 0 ? parent : frame;
160
+ return isXpath(selector) ? root.$x(selector) : root.$$(selector);
141
161
  }
142
162
  exports.findElements = findElements;
143
- async function getElementRect(_frame, element) {
144
- const { x, y, width, height } = await element.boundingBox();
145
- return { x: Math.round(x), y: Math.round(y), width: Math.round(width), height: Math.round(height) };
146
- }
147
- exports.getElementRect = getElementRect;
148
163
  async function getViewportSize(page) {
149
164
  return page.viewport();
150
165
  }
@@ -196,7 +211,7 @@ async function scrollIntoView(frame, element, align = false) {
196
211
  }
197
212
  exports.scrollIntoView = scrollIntoView;
198
213
  async function waitUntilDisplayed(frame, selector) {
199
- await frame.waitForSelector(transformSelector(selector));
214
+ await frame.waitForSelector(selector);
200
215
  }
201
216
  exports.waitUntilDisplayed = waitUntilDisplayed;
202
217
  async function build(env) {
@@ -215,4 +230,3 @@ async function build(env) {
215
230
  return [page, () => driver.close()];
216
231
  }
217
232
  exports.build = build;
218
- //# sourceMappingURL=spec-driver.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/eyes-puppeteer",
3
- "version": "1.8.1",
3
+ "version": "1.8.5",
4
4
  "description": "Applitools Eyes SDK for Puppeteer",
5
5
  "keywords": [
6
6
  "eyes-puppeteer",
@@ -19,7 +19,8 @@
19
19
  },
20
20
  "repository": {
21
21
  "type": "git",
22
- "url": "git@github.com:applitools/eyes.sdk.javascript1.git"
22
+ "url": "git@github.com:applitools/eyes.sdk.javascript1.git",
23
+ "directory": "packages/eyes-puppeteer"
23
24
  },
24
25
  "license": "SEE LICENSE IN LICENSE",
25
26
  "author": {
@@ -38,20 +39,20 @@
38
39
  "types"
39
40
  ],
40
41
  "scripts": {
41
- "lint": "eslint '**/*.js' '**/*.ts'",
42
+ "lint": "eslint '**/*.ts'",
42
43
  "build": "yarn build:dist && yarn build:types",
43
44
  "build:dist": "tsc",
44
45
  "build:types": "api-extractor ./src/index.ts --out ./types/index.d.ts --external-modules puppeteer",
45
46
  "generate:tests": "coverage-tests generate https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
46
- "test": "yarn build:dist && yarn test:it && yarn test:coverage",
47
- "test:it": "mocha --exit --no-timeouts ./test/it/*.spec.js",
48
- "test:coverage": "yarn generate:tests && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' APPLITOOLS_BATCH_ID=$(uuidgen) XUNIT_FILE=coverage-test-report.xml mocha --exit --config .mocharc.cvg.js",
47
+ "test": "yarn test:it && yarn test:coverage",
48
+ "test:it": "mocha --exit --no-timeouts -r ts-node/register ./test/it/*.spec.ts",
49
+ "test:coverage": "yarn build:dist && yarn generate:tests && APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' APPLITOOLS_BATCH_ID=$(uuidgen) XUNIT_FILE=coverage-test-report.xml mocha --exit --config .mocharc.cvg.js",
49
50
  "report": "coverage-tests report https://raw.githubusercontent.com/applitools/sdk.coverage.tests/master/js/config.js --name 'eyes-puppeteer'",
50
51
  "docker:build": "docker build -t applitools/puppeteer-chrome .",
51
52
  "docker:rebuild": "docker build --no-cache -t applitools/puppeteer-chrome .",
52
53
  "docker:run": "yarn docker:build && docker run -e NODE_AUTH_TOKEN --env APPLITOOLS_API_KEY=$APPLITOOLS_API_KEY_SDK --env APPLITOOLS_BATCH_NAME='JS Coverage Tests: eyes-puppeteer' --env APPLITOOLS_BATCH_ID=$(uuidgen) --env XUNIT_FILE=coverage-test-report.xml -it --init --rm -v $(pwd):/sandbox applitools/puppeteer-chrome",
53
54
  "deps": "bongo deps",
54
- "gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer' -f links='eyes-sdk-core eyes-api types test-utils utils driver screenshoter sdk-shared visual-grid-client' -f linking-depth=2",
55
+ "gh:test": "gh workflow run test.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer' -f links='eyes-sdk-core eyes-api types test-utils utils driver snippets screenshoter sdk-shared visual-grid-client' -f linking-depth=3",
55
56
  "gh:publish": "gh workflow run publish.yml --ref $(git rev-parse --abbrev-ref HEAD) -f packages='puppeteer'",
56
57
  "preversion": "bongo preversion && yarn build",
57
58
  "version": "bongo version",
@@ -63,18 +64,19 @@
63
64
  }
64
65
  },
65
66
  "dependencies": {
66
- "@applitools/eyes-api": "1.0.11",
67
- "@applitools/eyes-sdk-core": "12.22.4",
68
- "@applitools/utils": "1.2.2",
69
- "@applitools/visual-grid-client": "15.8.18"
67
+ "@applitools/eyes-api": "1.1.5",
68
+ "@applitools/eyes-sdk-core": "12.23.24",
69
+ "@applitools/utils": "1.2.4",
70
+ "@applitools/visual-grid-client": "15.8.43"
70
71
  },
71
72
  "devDependencies": {
72
73
  "@applitools/api-extractor": "1.1.3",
73
74
  "@applitools/scripts": "1.0.1",
74
- "@applitools/sdk-coverage-tests": "2.3.14",
75
- "@applitools/sdk-release-kit": "0.13.0",
76
- "@applitools/sdk-shared": "0.9.5",
77
- "@applitools/test-utils": "1.0.7",
75
+ "@applitools/sdk-coverage-tests": "2.3.15",
76
+ "@applitools/sdk-release-kit": "0.13.4",
77
+ "@applitools/sdk-shared": "0.9.7",
78
+ "@applitools/test-utils": "1.0.9",
79
+ "@types/mocha": "^9.0.0",
78
80
  "@typescript-eslint/eslint-plugin": "^4.15.1",
79
81
  "@typescript-eslint/parser": "^4.15.1",
80
82
  "eslint": "^7.9.0",
@@ -86,7 +88,8 @@
86
88
  "mocha": "^8.0.1",
87
89
  "prettier": "^2.1.2",
88
90
  "puppeteer": "^9.0.0",
89
- "spec-xunit-file": "0.0.1-3"
91
+ "spec-xunit-file": "0.0.1-3",
92
+ "ts-node": "^10.2.1"
90
93
  },
91
94
  "peerDependencies": {
92
95
  "puppeteer": ">=5.3.0"
package/types/index.d.ts CHANGED
@@ -61,6 +61,7 @@ export enum DeviceName {
61
61
  Galaxy_Note_9 = 'Galaxy Note 9',
62
62
  Galaxy_S10 = 'Galaxy S10',
63
63
  Galaxy_S10_Plus = 'Galaxy S10 Plus',
64
+ Galaxy_S20 = 'Galaxy S20',
64
65
  Galaxy_S3 = 'Galaxy S3',
65
66
  Galaxy_S5 = 'Galaxy S5',
66
67
  Galaxy_S8 = 'Galaxy S8',
@@ -92,6 +93,7 @@ export enum DeviceName {
92
93
  Pixel_3_XL = 'Pixel 3 XL',
93
94
  Pixel_4 = 'Pixel 4',
94
95
  Pixel_4_XL = 'Pixel 4 XL',
96
+ Pixel_5 = 'Pixel 5',
95
97
  iPad = 'iPad',
96
98
  iPad_6th_Gen = 'iPad 6th Gen',
97
99
  iPad_7th_Gen = 'iPad 7th Gen',
@@ -118,11 +120,19 @@ export enum FailureReport {
118
120
 
119
121
  export enum IosDeviceName {
120
122
  iPad_7 = 'iPad (7th generation)',
123
+ iPad_9 = 'iPad (9th generation)',
121
124
  iPad_Air_2 = 'iPad Air (2nd generation)',
122
125
  iPad_Pro_3 = 'iPad Pro (12.9-inch) (3rd generation)',
123
126
  iPhone_11 = 'iPhone 11',
124
127
  iPhone_11_Pro = 'iPhone 11 Pro',
125
128
  iPhone_11_Pro_Max = 'iPhone 11 Pro Max',
129
+ iPhone_12 = 'iPhone 12',
130
+ iPhone_12_Pro = 'iPhone 12 Pro',
131
+ iPhone_12_Pro_Max = 'iPhone 12 Pro Max',
132
+ iPhone_12_mini = 'iPhone 12 mini',
133
+ iPhone_13 = 'iPhone 13',
134
+ iPhone_13_Pro = 'iPhone 13 Pro',
135
+ iPhone_13_Pro_Max = 'iPhone 13 Pro Max',
126
136
  iPhone_7 = 'iPhone 7',
127
137
  iPhone_8 = 'iPhone 8',
128
138
  iPhone_X = 'iPhone X',
@@ -192,7 +202,7 @@ export class AccessibilityMatchSettings implements Required<AccessibilityMatchSe
192
202
  setLeft(left: number): void;
193
203
  setRegion(region: RegionPlain): void;
194
204
  setTop(top: number): void;
195
- setType(type: AccessibilityRegionType): void;
205
+ setType(type: AccessibilityRegionTypePlain): void;
196
206
  setWidth(width: number): void;
197
207
  }
198
208
 
@@ -237,7 +247,7 @@ export class BatchClose {
237
247
  setBatchIds(batchIds: string[]): this;
238
248
  setProxy(proxy: ProxySettingsPlain): this;
239
249
  setUrl(serverUrl: string): this;
240
- static close(options: {
250
+ static close(settings: {
241
251
  batchIds: string[];
242
252
  serverUrl?: string;
243
253
  apiKey?: string;
@@ -279,31 +289,40 @@ export class BatchInfo implements Required<BatchInfoPlain> {
279
289
 
280
290
  export class CheckSettings {
281
291
  constructor(settings?: CheckSettingsPlain);
282
- accessibilityRegion(region: {region: RegionPlain | Element | Selector; type?: AccessibilityRegionTypePlain}): this;
283
- accessibilityRegion(region: RegionPlain, type?: AccessibilityRegionType): this;
284
- accessibilityRegion(region: Element, type?: AccessibilityRegionType): this;
285
- accessibilityRegion(region: Selector, type?: AccessibilityRegionType): this;
292
+ accessibilityRegion(region: {
293
+ region: RegionPlain | Element | EyesSelector<Selector>;
294
+ type?: AccessibilityRegionTypePlain;
295
+ }): this;
296
+ accessibilityRegion(region: RegionPlain, type?: AccessibilityRegionTypePlain): this;
297
+ accessibilityRegion(region: Element, type?: AccessibilityRegionTypePlain): this;
298
+ accessibilityRegion(region: EyesSelector<Selector>, type?: AccessibilityRegionTypePlain): this;
299
+ accessibilityRegion(region: LegacyRegionPlain, type?: AccessibilityRegionTypePlain): this;
286
300
  accessibilityRegions(
287
301
  ...regions: (
288
- | {region: RegionPlain | Element | Selector; type?: AccessibilityRegionTypePlain}
302
+ | {region: RegionPlain | Element | EyesSelector<Selector>; type?: AccessibilityRegionTypePlain}
289
303
  | RegionPlain
290
304
  | Element
291
- | Selector
305
+ | EyesSelector<Selector>
306
+ | LegacyRegionPlain
292
307
  )[]
293
308
  ): this;
294
- accessibilityRegions(type: AccessibilityRegionType, ...regions: (RegionPlain | Element | Selector)[]): this;
309
+ accessibilityRegions(
310
+ type: AccessibilityRegionTypePlain,
311
+ ...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]
312
+ ): this;
295
313
  beforeRenderScreenshotHook(script: string): this;
296
314
  content(): this;
297
315
  contentRegion(region: RegionPlain): this;
298
316
  contentRegion(region: Element): this;
299
- contentRegion(region: Selector): this;
300
- contentRegions(...regions: (RegionPlain | Element | Selector)[]): this;
317
+ contentRegion(region: EyesSelector<Selector>): this;
318
+ contentRegion(region: LegacyRegionPlain): this;
319
+ contentRegions(...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]): this;
301
320
  disableBrowserFetching(disableBrowserFetching: boolean): this;
302
321
  enablePatterns(enablePatterns?: boolean): this;
303
322
  exact(): this;
304
323
  /** @deprecated */
305
324
  floating(region: {
306
- region: RegionPlain | Element | Selector;
325
+ region: RegionPlain | Element | EyesSelector<Selector>;
307
326
  maxUpOffset?: number;
308
327
  maxDownOffset?: number;
309
328
  maxLeftOffset?: number;
@@ -314,9 +333,11 @@ export class CheckSettings {
314
333
  /** @deprecated */
315
334
  floating(region: Element): this;
316
335
  /** @deprecated */
317
- floating(region: Selector): this;
336
+ floating(region: EyesSelector<Selector>): this;
337
+ /** @deprecated */
338
+ floating(region: LegacyRegionPlain): this;
318
339
  floatingRegion(region: {
319
- region: RegionPlain | Element | Selector;
340
+ region: RegionPlain | Element | EyesSelector<Selector>;
320
341
  maxUpOffset?: number;
321
342
  maxDownOffset?: number;
322
343
  maxLeftOffset?: number;
@@ -337,7 +358,14 @@ export class CheckSettings {
337
358
  maxRightOffset?: number,
338
359
  ): this;
339
360
  floatingRegion(
340
- region: Selector,
361
+ region: EyesSelector<Selector>,
362
+ maxUpOffset?: number,
363
+ maxDownOffset?: number,
364
+ maxLeftOffset?: number,
365
+ maxRightOffset?: number,
366
+ ): this;
367
+ floatingRegion(
368
+ region: LegacyRegionPlain,
341
369
  maxUpOffset?: number,
342
370
  maxDownOffset?: number,
343
371
  maxLeftOffset?: number,
@@ -346,7 +374,7 @@ export class CheckSettings {
346
374
  floatingRegions(
347
375
  ...regions: (
348
376
  | {
349
- region: RegionPlain | Element | Selector;
377
+ region: RegionPlain | Element | EyesSelector<Selector>;
350
378
  maxUpOffset?: number;
351
379
  maxDownOffset?: number;
352
380
  maxLeftOffset?: number;
@@ -354,15 +382,19 @@ export class CheckSettings {
354
382
  }
355
383
  | RegionPlain
356
384
  | Element
357
- | Selector
385
+ | EyesSelector<Selector>
386
+ | LegacyRegionPlain
358
387
  )[]
359
388
  ): this;
360
- floatingRegions(maxOffset: number, ...regions: (RegionPlain | Element | Selector)[]): this;
389
+ floatingRegions(
390
+ maxOffset: number,
391
+ ...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]
392
+ ): this;
361
393
  /** @deprecated */
362
394
  floatings(
363
395
  ...regions: (
364
396
  | {
365
- region: RegionPlain | Element | Selector;
397
+ region: RegionPlain | Element | EyesSelector<Selector>;
366
398
  maxUpOffset?: number;
367
399
  maxDownOffset?: number;
368
400
  maxLeftOffset?: number;
@@ -370,65 +402,80 @@ export class CheckSettings {
370
402
  }
371
403
  | RegionPlain
372
404
  | Element
373
- | Selector
405
+ | EyesSelector<Selector>
406
+ | LegacyRegionPlain
374
407
  )[]
375
408
  ): this;
376
409
  /** @deprecated */
377
- floatings(maxOffset: number, ...regions: (RegionPlain | Element | Selector)[]): this;
378
- frame(context: {frame: Element | Selector | string | number; scrollRootElement?: Element | Selector}): this;
410
+ floatings(
411
+ maxOffset: number,
412
+ ...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]
413
+ ): this;
414
+ frame(context: {
415
+ frame: Element | EyesSelector<Selector> | string | number;
416
+ scrollRootElement?: Element | EyesSelector<Selector>;
417
+ }): this;
379
418
  frame(frame: Element, scrollRootElement?: Element): this;
380
- frame(frame: Element, scrollRootElement?: Selector): this;
381
- frame(frame: Selector, scrollRootElement?: Element): this;
382
- frame(frame: Selector, scrollRootElement?: Selector): this;
419
+ frame(frame: Element, scrollRootElement?: EyesSelector<Selector>): this;
420
+ frame(frame: EyesSelector<Selector>, scrollRootElement?: Element): this;
421
+ frame(frame: EyesSelector<Selector>, scrollRootElement?: EyesSelector<Selector>): this;
383
422
  frame(frame: string, scrollRootElement?: Element): this;
384
- frame(frame: string, scrollRootElement?: Selector): this;
423
+ frame(frame: string, scrollRootElement?: EyesSelector<Selector>): this;
385
424
  frame(frame: number, scrollRootElement?: Element): this;
386
- frame(frame: number, scrollRootElement?: Selector): this;
425
+ frame(frame: number, scrollRootElement?: EyesSelector<Selector>): this;
387
426
  fully(fully?: boolean): this;
388
427
  hook(name: string, script: string): this;
389
428
  /** @deprecated */
390
- ignore(ignoreRegion: RegionPlain): this;
429
+ ignore(region: RegionPlain): this;
391
430
  /** @deprecated */
392
- ignore(ignoreRegion: Element): this;
431
+ ignore(region: Element): this;
393
432
  /** @deprecated */
394
- ignore(ignoreRegion: Selector): this;
433
+ ignore(region: EyesSelector<Selector>): this;
434
+ /** @deprecated */
435
+ ignore(region: LegacyRegionPlain): this;
395
436
  ignoreCaret(ignoreCaret?: boolean): this;
396
437
  ignoreDisplacements(ignoreDisplacements?: boolean): this;
397
- ignoreRegion(ignoreRegion: RegionPlain): this;
398
- ignoreRegion(ignoreRegion: Element): this;
399
- ignoreRegion(ignoreRegion: Selector): this;
400
- ignoreRegions(...ignoreRegions: (RegionPlain | Element | Selector)[]): this;
438
+ ignoreRegion(region: RegionPlain): this;
439
+ ignoreRegion(region: Element): this;
440
+ ignoreRegion(region: EyesSelector<Selector>): this;
441
+ ignoreRegion(region: LegacyRegionPlain): this;
442
+ ignoreRegions(...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]): this;
401
443
  /** @deprecated */
402
- ignores(...ignoreRegions: (RegionPlain | Element | Selector)[]): this;
444
+ ignores(...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]): this;
403
445
  layout(): this;
404
446
  layoutBreakpoints(layoutBreakpoints?: boolean): this;
405
447
  layoutBreakpoints(layoutBreakpoints?: number[]): this;
406
- layoutRegion(layoutRegion: RegionPlain): this;
407
- layoutRegion(layoutRegion: Element): this;
408
- layoutRegion(layoutRegion: Selector): this;
409
- layoutRegions(...layoutRegions: (RegionPlain | Element | Selector)[]): this;
410
- matchLevel(matchLevel: MatchLevel): this;
448
+ layoutRegion(region: RegionPlain): this;
449
+ layoutRegion(region: Element): this;
450
+ layoutRegion(region: EyesSelector<Selector>): this;
451
+ layoutRegion(region: LegacyRegionPlain): this;
452
+ layoutRegions(...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]): this;
453
+ matchLevel(matchLevel: MatchLevelPlain): this;
411
454
  /** @undocumented */
412
455
  name(name: string): this;
413
456
  region(region: RegionPlain): this;
414
457
  region(region: Element): this;
415
- region(region: Selector): this;
458
+ region(region: EyesSelector<Selector>): this;
459
+ region(region: LegacyRegionPlain): this;
416
460
  renderId(renderId: string): this;
417
461
  scrollRootElement(scrollRootElement: Element): this;
418
- scrollRootElement(scrollRootElement: Selector): this;
462
+ scrollRootElement(scrollRootElement: EyesSelector<Selector>): this;
419
463
  sendDom(sendDom?: boolean): this;
464
+ shadow(selector: EyesSelector<Selector>): this;
420
465
  /** @deprecated */
421
466
  stitchContent(stitchContent?: boolean): this;
422
467
  strict(): this;
423
- strictRegion(strictRegion: RegionPlain): this;
424
- strictRegion(strictRegion: Element): this;
425
- strictRegion(strictRegion: Selector): this;
426
- strictRegions(...regions: (RegionPlain | Element | Selector)[]): this;
468
+ strictRegion(region: RegionPlain): this;
469
+ strictRegion(region: Element): this;
470
+ strictRegion(region: EyesSelector<Selector>): this;
471
+ strictRegion(region: LegacyRegionPlain): this;
472
+ strictRegions(...regions: (RegionPlain | Element | EyesSelector<Selector> | LegacyRegionPlain)[]): this;
427
473
  timeout(timeout: number): this;
428
474
  useDom(useDom?: boolean): this;
429
475
  variationGroupId(variationGroupId: string): this;
430
476
  visualGridOption(key: string, value: any): this;
431
477
  visualGridOptions(options: {[key: string]: any}): this;
478
+ waitBeforeCapture(waitBeforeCapture: number): this;
432
479
  /** @deprecated */
433
480
  webHook(script: string): this;
434
481
  withName(name: string): this;
@@ -534,8 +581,8 @@ export class Configuration {
534
581
  set saveNewTests(saveNewTests: boolean);
535
582
  get scaleRatio(): number;
536
583
  set scaleRatio(scaleRatio: number);
537
- get scrollRootElement(): Element | Selector;
538
- set scrollRootElement(scrollRootElement: Element | Selector);
584
+ get scrollRootElement(): Element | EyesSelector<Selector>;
585
+ set scrollRootElement(scrollRootElement: Element | EyesSelector<Selector>);
539
586
  get sendDom(): boolean;
540
587
  set sendDom(sendDom: boolean);
541
588
  get serverUrl(): string;
@@ -552,13 +599,15 @@ export class Configuration {
552
599
  set viewportSize(viewportSize: RectangleSizePlain);
553
600
  get visualGridOptions(): {[key: string]: any};
554
601
  set visualGridOptions(visualGridOptions: {[key: string]: any});
602
+ get waitBeforeCapture(): number;
603
+ set waitBeforeCapture(waitBeforeCapture: number);
555
604
  get waitBeforeScreenshots(): number;
556
605
  set waitBeforeScreenshots(waitBeforeScreenshots: number);
557
606
  addBrowser(browserInfo: DesktopBrowserInfo): this;
558
607
  addBrowser(browserInfo: ChromeEmulationInfo): this;
559
608
  addBrowser(browserInfo: IOSDeviceInfo): this;
560
609
  addBrowser(browserInfo: {deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain}): this;
561
- addBrowser(width: number, height: number, name?: BrowserType): this;
610
+ addBrowser(width: number, height: number, name?: BrowserTypePlain): this;
562
611
  addBrowsers(
563
612
  ...browsersInfo: (
564
613
  | DesktopBrowserInfo
@@ -567,7 +616,7 @@ export class Configuration {
567
616
  | {deviceName: DeviceNamePlain; screenOrientation?: ScreenOrientationPlain}
568
617
  )[]
569
618
  ): this;
570
- addDeviceEmulation(deviceName: DeviceName, screenOrientation?: ScreenOrientation): this;
619
+ addDeviceEmulation(deviceName: DeviceNamePlain, screenOrientation?: ScreenOrientationPlain): this;
571
620
  addProperty(name: string, value: string): this;
572
621
  addProperty(prop: PropertyDataPlain): this;
573
622
  clearProperties(): this;
@@ -633,7 +682,7 @@ export class Configuration {
633
682
  getSaveFailedTests(): boolean;
634
683
  getSaveNewTests(): boolean;
635
684
  getScaleRatio(): number;
636
- getScrollRootElement(): Element | Selector;
685
+ getScrollRootElement(): Element | EyesSelector<Selector>;
637
686
  getSendDom(): boolean;
638
687
  getServerUrl(): string;
639
688
  getSessionType(): SessionType;
@@ -645,6 +694,7 @@ export class Configuration {
645
694
  getUseDom(): boolean;
646
695
  getViewportSize(): RectangleSize;
647
696
  getVisualGridOptions(): {[key: string]: any};
697
+ getWaitBeforeCapture(): number;
648
698
  getWaitBeforeScreenshots(): number;
649
699
  setAccessibilityValidation(accessibilityValidation: AccessibilitySettings): this;
650
700
  setAgentId(agentId: string): this;
@@ -695,7 +745,7 @@ export class Configuration {
695
745
  setLayoutBreakpoints(layoutBreakpoints: number[]): this;
696
746
  /** @undocumented */
697
747
  setLogHandler(handler: LogHandlerPlain): this;
698
- setMatchLevel(matchLevel: MatchLevel): this;
748
+ setMatchLevel(matchLevel: MatchLevelPlain): this;
699
749
  setMatchTimeout(matchTimeout: number): this;
700
750
  setParentBranchName(parentBranchName: string): this;
701
751
  setProperties(properties: PropertyDataPlain[]): this;
@@ -715,19 +765,20 @@ export class Configuration {
715
765
  setSaveNewTests(saveNewTests: boolean): this;
716
766
  setScaleRatio(scaleRatio: number): this;
717
767
  setScrollRootElement(scrollRootElement: Element): this;
718
- setScrollRootElement(scrollRootElement: Selector): this;
768
+ setScrollRootElement(scrollRootElement: EyesSelector<Selector>): this;
719
769
  setSendDom(sendDom: boolean): this;
720
770
  setServerUrl(serverUrl: string): this;
721
- setSessionType(sessionType: SessionType): this;
771
+ setSessionType(sessionType: SessionTypePlain): this;
722
772
  /** @undocumented */
723
773
  setShowLogs(show: boolean): this;
724
- setStitchMode(stitchMode: StitchMode): this;
774
+ setStitchMode(stitchMode: StitchModePlain): this;
725
775
  setStitchOverlap(stitchOverlap: number): this;
726
776
  setTestName(testName: string): this;
727
777
  setUseDom(useDom: boolean): this;
728
778
  setViewportSize(viewportSize: RectangleSizePlain): this;
729
779
  setVisualGridOption(key: string, value: any): this;
730
780
  setVisualGridOptions(visualGridOptions: {[key: string]: any}): this;
781
+ setWaitBeforeCapture(waitBeforeCapture: number): this;
731
782
  setWaitBeforeScreenshots(waitBeforeScreenshots: number): this;
732
783
  }
733
784
 
@@ -808,11 +859,11 @@ export class Eyes {
808
859
  /** @deprecated */
809
860
  checkElement(element: Element, timeout?: number, name?: string): Promise<MatchResult>;
810
861
  /** @deprecated */
811
- checkElementBy(selector: Selector, timeout?: number, name?: string): Promise<MatchResult>;
862
+ checkElementBy(selector: EyesSelector<Selector>, timeout?: number, name?: string): Promise<MatchResult>;
812
863
  /** @deprecated */
813
864
  checkFrame(element: Element, timeout?: number, name?: string): Promise<MatchResult>;
814
865
  /** @deprecated */
815
- checkFrame(element: Selector, timeout?: number, name?: string): Promise<MatchResult>;
866
+ checkFrame(element: EyesSelector<Selector>, timeout?: number, name?: string): Promise<MatchResult>;
816
867
  /** @deprecated */
817
868
  checkFrame(element: string, timeout?: number, name?: string): Promise<MatchResult>;
818
869
  /** @deprecated */
@@ -820,21 +871,26 @@ export class Eyes {
820
871
  /** @deprecated */
821
872
  checkRegion(region?: RegionPlain, name?: string, timeout?: number): Promise<MatchResult>;
822
873
  /** @deprecated */
823
- checkRegionBy(selector: Selector, name?: string, timeout?: number, fully?: boolean): Promise<MatchResult>;
874
+ checkRegionBy(
875
+ selector: EyesSelector<Selector>,
876
+ name?: string,
877
+ timeout?: number,
878
+ fully?: boolean,
879
+ ): Promise<MatchResult>;
824
880
  /** @deprecated */
825
881
  checkRegionByElement(element: Element, name?: string, timeout?: number): Promise<MatchResult>;
826
882
  /** @deprecated */
827
883
  checkRegionInFrame(
828
884
  frame: Element,
829
- selector: Selector,
885
+ selector: EyesSelector<Selector>,
830
886
  timeout?: number,
831
887
  name?: string,
832
888
  fully?: boolean,
833
889
  ): Promise<MatchResult>;
834
890
  /** @deprecated */
835
891
  checkRegionInFrame(
836
- frame: Selector,
837
- selector: Selector,
892
+ frame: EyesSelector<Selector>,
893
+ selector: EyesSelector<Selector>,
838
894
  timeout?: number,
839
895
  name?: string,
840
896
  fully?: boolean,
@@ -842,7 +898,7 @@ export class Eyes {
842
898
  /** @deprecated */
843
899
  checkRegionInFrame(
844
900
  frame: string,
845
- selector: Selector,
901
+ selector: EyesSelector<Selector>,
846
902
  timeout?: number,
847
903
  name?: string,
848
904
  fully?: boolean,
@@ -850,7 +906,7 @@ export class Eyes {
850
906
  /** @deprecated */
851
907
  checkRegionInFrame(
852
908
  frame: number,
853
- selector: Selector,
909
+ selector: EyesSelector<Selector>,
854
910
  timeout?: number,
855
911
  name?: string,
856
912
  fully?: boolean,
@@ -904,7 +960,7 @@ export class Eyes {
904
960
  getSaveDiffs(): boolean;
905
961
  getSaveNewTests(): boolean;
906
962
  getScaleRatio(): number;
907
- getScrollRootElement(): Element | Selector;
963
+ getScrollRootElement(): Element | EyesSelector<Selector>;
908
964
  getSendDom(): boolean;
909
965
  getServerUrl(): string;
910
966
  /**
@@ -952,7 +1008,7 @@ export class Eyes {
952
1008
  appName?: string,
953
1009
  testName?: string,
954
1010
  viewportSize?: RectangleSizePlain,
955
- sessionType?: SessionType,
1011
+ sessionType?: SessionTypePlain,
956
1012
  ): Promise<Driver>;
957
1013
  /**
958
1014
  * @undocumented
@@ -985,7 +1041,7 @@ export class Eyes {
985
1041
  setImageCut(cutProvider: CutProvider): void;
986
1042
  setIsDisabled(isDisabled: boolean): void;
987
1043
  setLogHandler(handler: LogHandler): void;
988
- setMatchLevel(matchLevel: MatchLevel): void;
1044
+ setMatchLevel(matchLevel: MatchLevelPlain): void;
989
1045
  setMatchTimeout(matchTimeout: number): void;
990
1046
  setParentBranchName(parentBranchName: string): void;
991
1047
  setProxy(proxy: ProxySettingsPlain): void;
@@ -998,10 +1054,10 @@ export class Eyes {
998
1054
  setSaveNewTests(saveNewTests: boolean): void;
999
1055
  setScaleRatio(scaleRatio: number): void;
1000
1056
  setScrollRootElement(scrollRootElement: Element): void;
1001
- setScrollRootElement(scrollRootElement: Selector): void;
1057
+ setScrollRootElement(scrollRootElement: EyesSelector<Selector>): void;
1002
1058
  setSendDom(sendDom: boolean): void;
1003
1059
  setServerUrl(serverUrl: string): void;
1004
- setStitchMode(stitchMode: StitchMode): void;
1060
+ setStitchMode(stitchMode: StitchModePlain): void;
1005
1061
  setStitchOverlap(stitchOverlap: number): void;
1006
1062
  setTestName(testName: string): void;
1007
1063
  setViewportSize(size: RectangleSizePlain): Promise<void>;
@@ -1133,7 +1189,7 @@ export class ImageMatchSettings implements Required<ImageMatchSettingsPlain> {
1133
1189
  setIgnoreDisplacements(ignoreDisplacements: boolean): void;
1134
1190
  setIgnoreRegions(ignoreRegions: RegionPlain[]): void;
1135
1191
  setLayoutRegions(layoutRegions: RegionPlain[]): void;
1136
- setMatchLevel(matchLevel: MatchLevel): void;
1192
+ setMatchLevel(matchLevel: MatchLevelPlain): void;
1137
1193
  setStrictRegions(strictRegions: RegionPlain[]): void;
1138
1194
  setUseDom(useDom: boolean): void;
1139
1195
  }
@@ -1412,6 +1468,7 @@ export class TestResults implements Required<TestResultsPlain> {
1412
1468
  get hostApp(): string;
1413
1469
  get hostDisplaySize(): RectangleSizePlain;
1414
1470
  get hostOS(): string;
1471
+ get id(): string;
1415
1472
  get isAborted(): boolean;
1416
1473
  get isDifferent(): boolean;
1417
1474
  get isNew(): boolean;
@@ -1427,7 +1484,6 @@ export class TestResults implements Required<TestResultsPlain> {
1427
1484
  get steps(): number;
1428
1485
  get stepsInfo(): StepInfoPlain[];
1429
1486
  get strictMatches(): number;
1430
- get testId(): string;
1431
1487
  get url(): string;
1432
1488
  delete(): Promise<void>;
1433
1489
  /** @deprecated */
@@ -1624,15 +1680,15 @@ export type BrowserTypePlain =
1624
1680
 
1625
1681
  export type CheckSettingsPlain = {
1626
1682
  name?: string;
1627
- region?: RegionPlain | Element | Selector;
1683
+ region?: RegionPlain | Element | EyesSelector<Selector>;
1628
1684
  frames?: (
1629
- | {frame: Element | Selector | string | number; scrollRootElement?: Element | Selector}
1685
+ | {frame: Element | EyesSelector<Selector> | string | number; scrollRootElement?: Element | EyesSelector<Selector>}
1630
1686
  | Element
1631
- | Selector
1687
+ | EyesSelector<Selector>
1632
1688
  | string
1633
1689
  | number
1634
1690
  )[];
1635
- scrollRootElement?: Element | Selector;
1691
+ scrollRootElement?: Element | EyesSelector<Selector>;
1636
1692
  fully?: boolean;
1637
1693
  matchLevel?: MatchLevelPlain;
1638
1694
  useDom?: boolean;
@@ -1640,13 +1696,13 @@ export type CheckSettingsPlain = {
1640
1696
  enablePatterns?: boolean;
1641
1697
  ignoreDisplacements?: boolean;
1642
1698
  ignoreCaret?: boolean;
1643
- ignoreRegions?: (RegionPlain | Element | Selector)[];
1644
- layoutRegions?: (RegionPlain | Element | Selector)[];
1645
- strictRegions?: (RegionPlain | Element | Selector)[];
1646
- contentRegions?: (RegionPlain | Element | Selector)[];
1699
+ ignoreRegions?: (RegionPlain | Element | EyesSelector<Selector>)[];
1700
+ layoutRegions?: (RegionPlain | Element | EyesSelector<Selector>)[];
1701
+ strictRegions?: (RegionPlain | Element | EyesSelector<Selector>)[];
1702
+ contentRegions?: (RegionPlain | Element | EyesSelector<Selector>)[];
1647
1703
  floatingRegions?: (
1648
1704
  | {
1649
- region: RegionPlain | Element | Selector;
1705
+ region: RegionPlain | Element | EyesSelector<Selector>;
1650
1706
  maxUpOffset?: number;
1651
1707
  maxDownOffset?: number;
1652
1708
  maxLeftOffset?: number;
@@ -1654,13 +1710,13 @@ export type CheckSettingsPlain = {
1654
1710
  }
1655
1711
  | RegionPlain
1656
1712
  | Element
1657
- | Selector
1713
+ | EyesSelector<Selector>
1658
1714
  )[];
1659
1715
  accessibilityRegions?: (
1660
- | {region: RegionPlain | Element | Selector; type?: AccessibilityRegionTypePlain}
1716
+ | {region: RegionPlain | Element | EyesSelector<Selector>; type?: AccessibilityRegionTypePlain}
1661
1717
  | RegionPlain
1662
1718
  | Element
1663
- | Selector
1719
+ | EyesSelector<Selector>
1664
1720
  )[];
1665
1721
  disableBrowserFetching?: boolean;
1666
1722
  layoutBreakpoints?: boolean | number[];
@@ -1669,6 +1725,7 @@ export type CheckSettingsPlain = {
1669
1725
  renderId?: string;
1670
1726
  variationGroupId?: string;
1671
1727
  timeout?: number;
1728
+ waitBeforeCapture?: number;
1672
1729
  };
1673
1730
 
1674
1731
  export type ChromeEmulationInfo = {
@@ -1717,16 +1774,18 @@ export type ConfigurationPlain = {
1717
1774
  hideScrollbars?: boolean;
1718
1775
  hideCaret?: boolean;
1719
1776
  stitchOverlap?: number;
1720
- scrollRootElement?: Element | Selector;
1777
+ scrollRootElement?: Element | EyesSelector<Selector>;
1721
1778
  cut?: CutProviderPlain;
1722
1779
  rotation?: ImageRotationPlain;
1723
1780
  scaleRatio?: number;
1781
+ waitBeforeCapture?: number;
1724
1782
  } & {
1725
1783
  /** @undocumented */ concurrentSessions?: number;
1726
1784
  browsersInfo?: (DesktopBrowserInfo | ChromeEmulationInfo | IOSDeviceInfo)[];
1727
1785
  visualGridOptions?: Record<string, any>;
1728
1786
  layoutBreakpoints?: boolean | number[];
1729
1787
  disableBrowserFetching?: boolean;
1788
+ waitBeforeCapture?: number;
1730
1789
  };
1731
1790
 
1732
1791
  export type ConsoleLogHandlerPlain = {type: 'console'};
@@ -1761,6 +1820,7 @@ export type DeviceNamePlain =
1761
1820
  | 'Galaxy Note 9'
1762
1821
  | 'Galaxy S10'
1763
1822
  | 'Galaxy S10 Plus'
1823
+ | 'Galaxy S20'
1764
1824
  | 'Galaxy S3'
1765
1825
  | 'Galaxy S5'
1766
1826
  | 'Galaxy S8'
@@ -1792,6 +1852,7 @@ export type DeviceNamePlain =
1792
1852
  | 'Pixel 3 XL'
1793
1853
  | 'Pixel 4'
1794
1854
  | 'Pixel 4 XL'
1855
+ | 'Pixel 5'
1795
1856
  | 'iPad'
1796
1857
  | 'iPad 6th Gen'
1797
1858
  | 'iPad 7th Gen'
@@ -1822,6 +1883,11 @@ export type ExactMatchSettingsPlain = {
1822
1883
  minDiffWidth: number;
1823
1884
  };
1824
1885
 
1886
+ export type EyesSelector<TSelector = never> =
1887
+ | TSelector
1888
+ | string
1889
+ | {frame?: EyesSelector<TSelector>; selector: TSelector | string; shadow?: EyesSelector<TSelector>; type?: string};
1890
+
1825
1891
  export type FailureReportPlain = 'IMMEDIATE' | 'ON_CLOSE';
1826
1892
 
1827
1893
  export type FileLogHandlerPlain = {type: 'file'; filename?: string; append?: boolean};
@@ -1864,11 +1930,19 @@ export type ImageRotationPlain = -270 | -180 | -90 | 0 | 90 | 180 | 270;
1864
1930
 
1865
1931
  export type IosDeviceNamePlain =
1866
1932
  | 'iPad (7th generation)'
1933
+ | 'iPad (9th generation)'
1867
1934
  | 'iPad Air (2nd generation)'
1868
1935
  | 'iPad Pro (12.9-inch) (3rd generation)'
1869
1936
  | 'iPhone 11'
1870
1937
  | 'iPhone 11 Pro'
1871
1938
  | 'iPhone 11 Pro Max'
1939
+ | 'iPhone 12'
1940
+ | 'iPhone 12 Pro'
1941
+ | 'iPhone 12 Pro Max'
1942
+ | 'iPhone 12 mini'
1943
+ | 'iPhone 13'
1944
+ | 'iPhone 13 Pro'
1945
+ | 'iPhone 13 Pro Max'
1872
1946
  | 'iPhone 7'
1873
1947
  | 'iPhone 8'
1874
1948
  | 'iPhone X'
@@ -1877,6 +1951,9 @@ export type IosDeviceNamePlain =
1877
1951
 
1878
1952
  export type IosVersionPlain = 'latest' | 'latest-1';
1879
1953
 
1954
+ /** @deprecated */
1955
+ export type LegacyRegionPlain = {height: number; left: number; top: number; width: number};
1956
+
1880
1957
  export type LocationPlain = {x: number; y: number};
1881
1958
 
1882
1959
  export type LogHandlerPlain = CustomLogHandlerPlain | FileLogHandlerPlain | ConsoleLogHandlerPlain;
@@ -1885,7 +1962,12 @@ export type MatchLevelPlain = 'Content' | 'Exact' | 'Layout' | 'Layout2' | 'Layo
1885
1962
 
1886
1963
  export type MatchResultPlain = {readonly asExpected?: boolean; readonly windowId?: number};
1887
1964
 
1888
- export type OCRRegion = {target: RegionPlain | Element | Selector; hint?: string; minMatch?: number; language?: string};
1965
+ export type OCRRegion = {
1966
+ target: RegionPlain | Element | EyesSelector<Selector>;
1967
+ hint?: string;
1968
+ minMatch?: number;
1969
+ language?: string;
1970
+ };
1889
1971
 
1890
1972
  export type OCRSettings<TPattern extends string = string> = {
1891
1973
  firstOnly?: boolean;
@@ -1906,7 +1988,7 @@ export type RunnerOptionsPlain = {testConcurrency?: number};
1906
1988
 
1907
1989
  export type ScreenOrientationPlain = 'landscape' | 'portrait';
1908
1990
 
1909
- export type Selector = string | {selector: string; type: string};
1991
+ export type Selector = string;
1910
1992
 
1911
1993
  export type SessionTypePlain = 'PROGRESSION' | 'SEQUENTIAL';
1912
1994
 
@@ -1946,6 +2028,7 @@ export type TestResultsPlain = {
1946
2028
  readonly hostApp?: string;
1947
2029
  readonly hostDisplaySize?: RectangleSizePlain;
1948
2030
  readonly hostOS?: string;
2031
+ readonly id?: string;
1949
2032
  readonly isAborted?: boolean;
1950
2033
  readonly isDifferent?: boolean;
1951
2034
  readonly isNew?: boolean;
@@ -1961,7 +2044,6 @@ export type TestResultsPlain = {
1961
2044
  readonly steps?: number;
1962
2045
  readonly stepsInfo?: StepInfoPlain[];
1963
2046
  readonly strictMatches?: number;
1964
- readonly testId?: string;
1965
2047
  readonly url?: string;
1966
2048
  };
1967
2049
 
@@ -1983,16 +2065,21 @@ export const Target: {
1983
2065
  window(): CheckSettings;
1984
2066
  region(region: RegionPlain): CheckSettings;
1985
2067
  region(region: Element): CheckSettings;
1986
- region(region: Selector): CheckSettings;
1987
- frame(context: {frame: Element | Selector | string | number; scrollRootElement?: Element | Selector}): CheckSettings;
2068
+ region(region: EyesSelector<Selector>): CheckSettings;
2069
+ region(region: LegacyRegionPlain): CheckSettings;
2070
+ frame(context: {
2071
+ frame: Element | EyesSelector<Selector> | string | number;
2072
+ scrollRootElement?: Element | EyesSelector<Selector>;
2073
+ }): CheckSettings;
1988
2074
  frame(frame: Element, scrollRootElement?: Element): CheckSettings;
1989
- frame(frame: Element, scrollRootElement?: Selector): CheckSettings;
1990
- frame(frame: Selector, scrollRootElement?: Element): CheckSettings;
1991
- frame(frame: Selector, scrollRootElement?: Selector): CheckSettings;
2075
+ frame(frame: Element, scrollRootElement?: EyesSelector<Selector>): CheckSettings;
2076
+ frame(frame: EyesSelector<Selector>, scrollRootElement?: Element): CheckSettings;
2077
+ frame(frame: EyesSelector<Selector>, scrollRootElement?: EyesSelector<Selector>): CheckSettings;
1992
2078
  frame(frame: string, scrollRootElement?: Element): CheckSettings;
1993
- frame(frame: string, scrollRootElement?: Selector): CheckSettings;
2079
+ frame(frame: string, scrollRootElement?: EyesSelector<Selector>): CheckSettings;
1994
2080
  frame(frame: number, scrollRootElement?: Element): CheckSettings;
1995
- frame(frame: number, scrollRootElement?: Selector): CheckSettings;
2081
+ frame(frame: number, scrollRootElement?: EyesSelector<Selector>): CheckSettings;
2082
+ shadow(selector: EyesSelector<Selector>): CheckSettings;
1996
2083
  };
1997
2084
 
1998
2085
  /** @deprecated */
@@ -2000,9 +2087,6 @@ export function RunnerOptions(): RunnerOptionsFluent;
2000
2087
 
2001
2088
  export function closeBatch(spec: {
2002
2089
  closeBatches(options: {
2003
- batchIds: string[];
2004
- serverUrl?: string;
2005
- apiKey?: string;
2006
- proxy?: ProxySettingsPlain;
2090
+ settings: {batchIds: string[]; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain};
2007
2091
  }): Promise<void>;
2008
2092
  }): {(options: {batchIds: string[]; serverUrl?: string; apiKey?: string; proxy?: ProxySettingsPlain}): Promise<void>};
package/dist/api.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6DAAiD;AACjD,4CAA2C;AAC3C,sCAAqC;AAGrC,MAAM,GAAG,GAAG,uBAAO,CAAC;IAClB,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO;IAC3C,IAAI;IACJ,gBAAgB,EAAE,OAAO,CAAC,gCAAgC,CAAC;CAC5D,CAAC,CAAA;AAEF,uDAAoC;AAIpC,MAAa,IAAK,SAAQ,GAAG,CAAC,IAA+B;;AAA7D,oBAGC;AAF2B,UAAK,GAAG,GAAG,CAAA;AAMvC,MAAa,aAAc,SAAQ,GAAG,CAAC,aAAgC;;AAAvE,sCAEC;AAD2B,mBAAK,GAAG,GAAG,CAAA;AAOvC,MAAa,aAAc,SAAQ,GAAG,CAAC,aAAgC;;AAAvE,sCAEC;AAD2B,mBAAK,GAAG,GAAG,CAAA;AAG1B,QAAA,MAAM,GAAkC,aAAoB,CAAA;AAEzE,MAAa,UAAW,SAAQ,GAAG,CAAC,UAAU;;AAA9C,gCAEC;AAD2B,gBAAK,GAAG,GAAG,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec-driver.js","sourceRoot":"","sources":["../src/spec-driver.ts"],"names":[],"mappings":"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"}