@applitools/core 3.9.0 → 3.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,137 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.9.1](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.9.0...js/core@3.9.1) (2023-08-18)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * optimize driver usage in close ([#1867](https://github.com/applitools/eyes.sdk.javascript1/issues/1867)) ([60dff6b](https://github.com/applitools/eyes.sdk.javascript1/commit/60dff6b160e69d3893c91a1125d668fa18b43072))
9
+
10
+
11
+ ### Code Refactoring
12
+
13
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * @applitools/utils bumped to 1.5.1
19
+ #### Code Refactoring
20
+
21
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
22
+ * @applitools/logger bumped to 2.0.8
23
+ #### Code Refactoring
24
+
25
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
26
+
27
+
28
+
29
+ * @applitools/socket bumped to 1.1.8
30
+ #### Code Refactoring
31
+
32
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
33
+
34
+
35
+
36
+ * @applitools/req bumped to 1.5.3
37
+ #### Code Refactoring
38
+
39
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
40
+
41
+
42
+
43
+ * @applitools/image bumped to 1.1.3
44
+ #### Code Refactoring
45
+
46
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
47
+
48
+
49
+
50
+ * @applitools/snippets bumped to 2.4.23
51
+ #### Code Refactoring
52
+
53
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
54
+ * @applitools/spec-driver-webdriver bumped to 1.0.42
55
+ #### Code Refactoring
56
+
57
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
58
+
59
+
60
+
61
+ * @applitools/spec-driver-selenium bumped to 1.5.56
62
+ #### Code Refactoring
63
+
64
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
65
+
66
+
67
+
68
+ * @applitools/spec-driver-puppeteer bumped to 1.1.73
69
+ #### Code Refactoring
70
+
71
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
72
+
73
+
74
+
75
+ * @applitools/driver bumped to 1.13.5
76
+ #### Bug Fixes
77
+
78
+ * optimize driver usage in close ([#1867](https://github.com/applitools/eyes.sdk.javascript1/issues/1867)) ([60dff6b](https://github.com/applitools/eyes.sdk.javascript1/commit/60dff6b160e69d3893c91a1125d668fa18b43072))
79
+
80
+
81
+ #### Code Refactoring
82
+
83
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
84
+
85
+
86
+
87
+ * @applitools/screenshoter bumped to 3.8.8
88
+ #### Code Refactoring
89
+
90
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
91
+
92
+
93
+
94
+ * @applitools/nml-client bumped to 1.5.8
95
+ #### Code Refactoring
96
+
97
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
98
+
99
+
100
+
101
+ * @applitools/tunnel-client bumped to 1.2.0
102
+ #### Features
103
+
104
+ * replace and destroy tunnels by tunnel id ([#1878](https://github.com/applitools/eyes.sdk.javascript1/issues/1878)) ([22bcc15](https://github.com/applitools/eyes.sdk.javascript1/commit/22bcc15b31457e3da56cdb6f73bee3dcb7e051a1))
105
+
106
+
107
+ #### Code Refactoring
108
+
109
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
110
+
111
+
112
+
113
+ * @applitools/ufg-client bumped to 1.7.1
114
+ #### Code Refactoring
115
+
116
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
117
+
118
+
119
+
120
+ * @applitools/ec-client bumped to 1.7.5
121
+ #### Code Refactoring
122
+
123
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
124
+
125
+
126
+
127
+ * @applitools/core-base bumped to 1.5.1
128
+ #### Code Refactoring
129
+
130
+ * refactored spec driver interface ([#1839](https://github.com/applitools/eyes.sdk.javascript1/issues/1839)) ([aa49ec2](https://github.com/applitools/eyes.sdk.javascript1/commit/aa49ec2a7d14b8529acc3a8a4c2baecfa113d98a))
131
+
132
+
133
+
134
+
3
135
  ## [3.9.0](https://github.com/applitools/eyes.sdk.javascript1/compare/js/core@3.8.1...js/core@3.9.0) (2023-08-10)
4
136
 
5
137
 
@@ -7,10 +7,10 @@ function makeAbort({ eyes, target, spec, logger: mainLogger }) {
7
7
  logger = logger.extend(mainLogger);
8
8
  logger.log('Command "abort" is called with settings', settings);
9
9
  settings !== null && settings !== void 0 ? settings : (settings = {});
10
- if (!settings.testMetadata) {
10
+ if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
11
11
  try {
12
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
13
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
12
+ const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
13
+ settings.testMetadata = await driver.getSessionMetadata();
14
14
  }
15
15
  catch (error) {
16
16
  logger.warn('Command "abort" received an error during extracting driver metadata', error);
@@ -7,10 +7,10 @@ function makeClose({ eyes, target, spec, logger: mainLogger }) {
7
7
  logger = logger.extend(mainLogger);
8
8
  logger.log('Command "close" is called with settings', settings);
9
9
  settings !== null && settings !== void 0 ? settings : (settings = {});
10
- if (!settings.testMetadata) {
10
+ if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
11
11
  try {
12
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
13
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
12
+ const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
13
+ settings.testMetadata = await driver.getSessionMetadata();
14
14
  }
15
15
  catch (error) {
16
16
  logger.warn('Command "close" received an error during extracting driver metadata', error);
package/dist/ufg/abort.js CHANGED
@@ -8,10 +8,10 @@ function makeAbort({ storage, target, spec, controller, logger: mainLogger, }) {
8
8
  logger.log('Command "abort" is called with settings', settings);
9
9
  controller.abort();
10
10
  settings !== null && settings !== void 0 ? settings : (settings = {});
11
- if (!settings.testMetadata) {
11
+ if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
12
12
  try {
13
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
14
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
13
+ const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
14
+ settings.testMetadata = await driver.getSessionMetadata();
15
15
  }
16
16
  catch (error) {
17
17
  logger.warn('Command "abort" received an error during extracting driver metadata', error);
@@ -104,10 +104,10 @@ function makeCheckAndClose({ eyes, storage, target: defaultTarget, spec, signal,
104
104
  }
105
105
  else {
106
106
  regionToTarget = (0, driver_1.isSelector)(elementReferenceToTarget)
107
- ? (_e = (_d = spec === null || spec === void 0 ? void 0 : spec.untransformSelector) === null || _d === void 0 ? void 0 : _d.call(spec, settings.scrollRootElement)) !== null && _e !== void 0 ? _e : undefined
107
+ ? (_e = (_d = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _d === void 0 ? void 0 : _d.call(spec, settings.scrollRootElement)) !== null && _e !== void 0 ? _e : undefined
108
108
  : undefined;
109
109
  scrollRootSelector = (0, driver_1.isSelector)(settings.scrollRootElement)
110
- ? (_g = (_f = spec === null || spec === void 0 ? void 0 : spec.untransformSelector) === null || _f === void 0 ? void 0 : _f.call(spec, settings.scrollRootElement)) !== null && _g !== void 0 ? _g : undefined
110
+ ? (_g = (_f = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _f === void 0 ? void 0 : _f.call(spec, settings.scrollRootElement)) !== null && _g !== void 0 ? _g : undefined
111
111
  : undefined;
112
112
  }
113
113
  const currentContext = driver.currentContext;
package/dist/ufg/check.js CHANGED
@@ -105,10 +105,10 @@ function makeCheck({ eyes, storage, target: defaultTarget, spec, signal, logger:
105
105
  }
106
106
  else {
107
107
  regionToTarget = (0, driver_1.isSelector)(elementReferenceToTarget)
108
- ? (_f = (_e = spec === null || spec === void 0 ? void 0 : spec.untransformSelector) === null || _e === void 0 ? void 0 : _e.call(spec, settings.scrollRootElement)) !== null && _f !== void 0 ? _f : undefined
108
+ ? (_f = (_e = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _e === void 0 ? void 0 : _e.call(spec, settings.scrollRootElement)) !== null && _f !== void 0 ? _f : undefined
109
109
  : undefined;
110
110
  scrollRootSelector = (0, driver_1.isSelector)(settings.scrollRootElement)
111
- ? (_h = (_g = spec === null || spec === void 0 ? void 0 : spec.untransformSelector) === null || _g === void 0 ? void 0 : _g.call(spec, settings.scrollRootElement)) !== null && _h !== void 0 ? _h : undefined
111
+ ? (_h = (_g = spec === null || spec === void 0 ? void 0 : spec.toSimpleCommonSelector) === null || _g === void 0 ? void 0 : _g.call(spec, settings.scrollRootElement)) !== null && _h !== void 0 ? _h : undefined
112
112
  : undefined;
113
113
  }
114
114
  const currentContext = driver.currentContext;
package/dist/ufg/close.js CHANGED
@@ -7,10 +7,10 @@ function makeClose({ storage, target, spec, logger: mainLogger }) {
7
7
  logger = logger.extend(mainLogger);
8
8
  logger.log('Command "close" is called with settings', settings);
9
9
  settings !== null && settings !== void 0 ? settings : (settings = {});
10
- if (!settings.testMetadata) {
10
+ if (!settings.testMetadata && (0, driver_1.isDriver)(target, spec)) {
11
11
  try {
12
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
13
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
12
+ const driver = await (0, driver_1.makeDriver)({ spec, driver: target, relaxed: true, logger });
13
+ settings.testMetadata = await driver.getSessionMetadata();
14
14
  }
15
15
  catch (error) {
16
16
  logger.warn('Command "close" received an error during extracting driver metadata', error);
@@ -27,7 +27,6 @@ exports.makeSpec = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
28
  function makeSpec({ socket, spec, }) {
29
29
  const commands = {
30
- // #region UTILITY
31
30
  isDriver(driver) {
32
31
  return utils.types.has(driver, 'applitools-ref-id');
33
32
  },
@@ -44,32 +43,17 @@ function makeSpec({ socket, spec, }) {
44
43
  utils.types.has(selector, 'selector') &&
45
44
  (utils.types.isString(selector.selector) || utils.types.has(selector, 'applitools-ref-id'))));
46
45
  },
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
46
  async isEqualElements(context, element1, element2) {
61
47
  return socket.request('Driver.isEqualElements', { context, element1, element2 });
62
48
  },
63
- // #endregion
64
- // #region COMMANDS
65
- async mainContext(context) {
66
- return socket.request('Driver.mainContext', { context });
49
+ isStaleElementError(error) {
50
+ return error === null || error === void 0 ? void 0 : error.isStaleElementError;
67
51
  },
68
- async parentContext(context) {
69
- return socket.request('Driver.parentContext', { context });
52
+ extractContext(driver) {
53
+ return driver.context;
70
54
  },
71
- async childContext(context, element) {
72
- return socket.request('Driver.childContext', { context, element });
55
+ extractSelector(element) {
56
+ return element.selector;
73
57
  },
74
58
  async executeScript(context, script, arg) {
75
59
  return socket.request('Driver.executeScript', { context, script: script.toString(), arg });
@@ -89,20 +73,26 @@ function makeSpec({ socket, spec, }) {
89
73
  async setElementText(context, element, text) {
90
74
  return socket.request('Driver.setElementText', { context, element, text });
91
75
  },
92
- async getWindowSize(driver) {
93
- return socket.request('Driver.getWindowSize', { driver });
76
+ async getElementRegion(context, element) {
77
+ return socket.request('Driver.getElementRegion', { context, element });
94
78
  },
95
- async setWindowSize(driver, size) {
96
- return socket.request('Driver.setWindowSize', { driver, size });
79
+ async getElementAttribute(context, element, attr) {
80
+ return socket.request('Driver.getElementAttribute', { context, element, attr });
97
81
  },
98
- async getViewportSize(driver) {
99
- return socket.request('Driver.getViewportSize', { driver });
82
+ async hover(context, element) {
83
+ return socket.request('Driver.hover', { context, element });
100
84
  },
101
- async setViewportSize(driver, size) {
102
- return socket.request('Driver.setViewportSize', { driver, size });
85
+ async click(context, element) {
86
+ return socket.request('Driver.click', { context, element });
103
87
  },
104
- async getCookies(driver, context) {
105
- return socket.request('Driver.getCookies', { driver, context });
88
+ async mainContext(context) {
89
+ return socket.request('Driver.mainContext', { context });
90
+ },
91
+ async parentContext(context) {
92
+ return socket.request('Driver.parentContext', { context });
93
+ },
94
+ async childContext(context, element) {
95
+ return socket.request('Driver.childContext', { context, element });
106
96
  },
107
97
  async getCapabilities(driver) {
108
98
  return socket.request('Driver.getCapabilities', { driver });
@@ -110,23 +100,18 @@ function makeSpec({ socket, spec, }) {
110
100
  async getDriverInfo(driver) {
111
101
  return socket.request('Driver.getDriverInfo', { driver });
112
102
  },
113
- async getTitle(driver) {
114
- return socket.request('Driver.getTitle', { driver });
115
- },
116
- async getUrl(driver) {
117
- return socket.request('Driver.getUrl', { driver });
103
+ async getWindowSize(driver) {
104
+ return socket.request('Driver.getWindowSize', { driver });
118
105
  },
119
- async takeScreenshot(driver) {
120
- return socket.request('Driver.takeScreenshot', { driver });
106
+ async setWindowSize(driver, size) {
107
+ return socket.request('Driver.setWindowSize', { driver, size });
121
108
  },
122
- async click(context, element) {
123
- return socket.request('Driver.click', { context, element });
109
+ async getViewportSize(driver) {
110
+ return socket.request('Driver.getViewportSize', { driver });
124
111
  },
125
- async visit(driver, url) {
126
- return socket.request('Driver.visit', { driver, url });
112
+ async setViewportSize(driver, size) {
113
+ return socket.request('Driver.setViewportSize', { driver, size });
127
114
  },
128
- // #endregion
129
- // #region NATIVE COMMANDS
130
115
  async getSystemBars(driver) {
131
116
  return socket.request('Driver.getSystemBars', { driver });
132
117
  },
@@ -136,15 +121,24 @@ function makeSpec({ socket, spec, }) {
136
121
  async setOrientation(driver, orientation) {
137
122
  return socket.request('Driver.setOrientation', { driver, orientation });
138
123
  },
139
- async getElementRegion(driver, element) {
140
- return socket.request('Driver.getElementRegion', { driver, element });
124
+ async getCookies(driver, context) {
125
+ return socket.request('Driver.getCookies', { driver, context });
126
+ },
127
+ async getTitle(driver) {
128
+ return socket.request('Driver.getTitle', { driver });
129
+ },
130
+ async getUrl(driver) {
131
+ return socket.request('Driver.getUrl', { driver });
141
132
  },
142
- async getElementAttribute(driver, element, attr) {
143
- return socket.request('Driver.getElementAttribute', { driver, element, attr });
133
+ async takeScreenshot(driver) {
134
+ return socket.request('Driver.takeScreenshot', { driver });
144
135
  },
145
136
  async performAction(driver, steps) {
146
137
  return socket.request('Driver.performAction', { driver, steps });
147
138
  },
139
+ async visit(driver, url) {
140
+ return socket.request('Driver.visit', { driver, url });
141
+ },
148
142
  async getCurrentWorld(driver) {
149
143
  return socket.request('Driver.getCurrentWorld', { driver });
150
144
  },
@@ -154,7 +148,6 @@ function makeSpec({ socket, spec, }) {
154
148
  async switchWorld(driver, name) {
155
149
  return socket.request('Driver.switchWorld', { driver, name });
156
150
  },
157
- // #endregion
158
151
  };
159
152
  return spec.reduce((spec, name) => {
160
153
  return Object.assign(spec, { [name]: commands[name] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/core",
3
- "version": "3.9.0",
3
+ "version": "3.9.1",
4
4
  "homepage": "https://applitools.com",
5
5
  "bugs": {
6
6
  "url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
@@ -46,8 +46,8 @@
46
46
  "build:dist": "run --top-level tsc --project ./tsconfig.build.json",
47
47
  "build:x64": "yarn build:dist && yarn build:bin:x64",
48
48
  "build:arm64": "yarn build:dist && yarn build:bin:arm64",
49
- "build:bin:x64": "pkg . --target node14-linux-x64,node14-alpine-x64,node14-macos-x64,node14-win-x64",
50
- "build:bin:arm64": "pkg . --target node14-linux-arm64 --output ./bin/core-linux-arm64",
49
+ "build:bin:x64": "rm -rf ../spec-driver-webdriver/node_modules/webdriver && pkg . --target node14-linux-x64,node14-alpine-x64,node14-macos-x64,node14-win-x64",
50
+ "build:bin:arm64": "rm -rf ../spec-driver-webdriver/node_modules/webdriver && pkg . --target node14-linux-arm64 --output ./bin/core-linux-arm64",
51
51
  "build:bin:zip": "zip -j ./bin/core.zip $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
52
52
  "build:bin:tgz": "tar -czf ./bin/core.tar.gz $(find ./bin -type f -not -name '*.zip' -not -name '*.tar.gz' | xargs)",
53
53
  "test": "run --top-level mocha './test/**/*.spec.ts' --exclude './test/bin/**' --parallel --jobs ${MOCHA_JOBS:-15} --exit",
@@ -62,52 +62,47 @@
62
62
  "pkg": {
63
63
  "scripts": "./dist/cli/cli.js",
64
64
  "outputPath": "./bin",
65
- "compress": "GZip",
66
- "assets": [
67
- "./node_modules/vm2/lib/setup-sandbox.js"
68
- ]
65
+ "compress": "GZip"
69
66
  },
70
67
  "dependencies": {
71
- "@applitools/core-base": "1.5.0",
68
+ "@applitools/core-base": "1.5.1",
72
69
  "@applitools/dom-capture": "11.2.2",
73
70
  "@applitools/dom-snapshot": "4.7.10",
74
- "@applitools/driver": "1.13.4",
75
- "@applitools/ec-client": "1.7.4",
76
- "@applitools/logger": "2.0.7",
77
- "@applitools/nml-client": "1.5.7",
78
- "@applitools/req": "1.5.2",
79
- "@applitools/screenshoter": "3.8.7",
80
- "@applitools/snippets": "2.4.22",
81
- "@applitools/socket": "1.1.7",
82
- "@applitools/spec-driver-webdriver": "1.0.41",
83
- "@applitools/ufg-client": "1.7.0",
84
- "@applitools/utils": "1.5.0",
71
+ "@applitools/driver": "1.13.5",
72
+ "@applitools/ec-client": "1.7.5",
73
+ "@applitools/logger": "2.0.8",
74
+ "@applitools/nml-client": "1.5.8",
75
+ "@applitools/req": "1.5.3",
76
+ "@applitools/screenshoter": "3.8.8",
77
+ "@applitools/snippets": "2.4.23",
78
+ "@applitools/socket": "1.1.8",
79
+ "@applitools/spec-driver-webdriver": "1.0.42",
80
+ "@applitools/ufg-client": "1.7.1",
81
+ "@applitools/utils": "1.5.1",
85
82
  "@types/ws": "8.5.5",
86
83
  "abort-controller": "3.0.0",
87
84
  "chalk": "4.1.2",
88
85
  "node-fetch": "2.6.7",
89
- "webdriver": "7.30.0",
86
+ "webdriver": "7.31.1",
90
87
  "ws": "8.13.0",
91
88
  "yargs": "17.7.2"
92
89
  },
93
90
  "devDependencies": {
94
- "@applitools/bongo": "^5.4.3",
95
- "@applitools/spec-driver-puppeteer": "^1.1.72",
96
- "@applitools/spec-driver-selenium": "^1.5.55",
97
- "@applitools/spec-driver-webdriverio": "^1.5.10",
91
+ "@applitools/bongo": "^5.6.1",
92
+ "@applitools/spec-driver-puppeteer": "^1.1.73",
93
+ "@applitools/spec-driver-selenium": "^1.5.56",
98
94
  "@applitools/test-server": "^1.2.2",
99
95
  "@applitools/test-utils": "^1.5.17",
100
- "@applitools/tunnel-client": "^1.1.3",
96
+ "@applitools/tunnel-client": "^1.2.0",
101
97
  "@types/node": "^12.20.55",
102
98
  "@types/selenium-webdriver": "^4.1.2",
103
99
  "@types/yargs": "^17.0.22",
104
- "chromedriver": "^114.0.3",
100
+ "chromedriver": "^115.0.1",
105
101
  "nock": "^13.3.2",
106
102
  "pkg": "^5.8.0",
107
103
  "png-async": "^0.9.4",
108
104
  "puppeteer": "^19.11.1",
109
- "selenium-webdriver": "4.4",
110
- "webdriverio": "^7.25.0"
105
+ "selenium-webdriver": "4.4"
111
106
  },
112
107
  "engines": {
113
108
  "node": ">=12.13.0"
@@ -1,11 +1,12 @@
1
1
  import type { Ref, ServerSocket, UniversalSpecDriver } from './types';
2
- import type { SpecType as BaseSpecType, SpecDriver, CommonSelector } from '@applitools/driver';
2
+ import type { SpecType, SpecDriver as BaseSpecDriver, CommonSelector } from '@applitools/driver';
3
3
  export type Driver = Ref;
4
4
  export type Context = Ref;
5
5
  export type Element = Ref;
6
6
  export type Selector = string | CommonSelector | Ref;
7
- export type SpecType = BaseSpecType<Driver, Context, Element, Selector>;
7
+ export type PrimarySpecType = SpecType<Driver, Context, Element, Selector>;
8
+ export type SpecDriver = BaseSpecDriver<PrimarySpecType>;
8
9
  export declare function makeSpec({ socket, spec, }: {
9
- socket: ServerSocket<SpecType, any>;
10
- spec: (keyof UniversalSpecDriver<SpecType>)[];
11
- }): SpecDriver<SpecType>;
10
+ socket: ServerSocket<PrimarySpecType, any>;
11
+ spec: (keyof UniversalSpecDriver<PrimarySpecType>)[];
12
+ }): SpecDriver;
@@ -56,16 +56,6 @@ export interface UniversalSpecDriver<T extends SpecType> {
56
56
  element1: T['element'];
57
57
  element2: T['element'];
58
58
  }): Promise<boolean>;
59
- mainContext(options: {
60
- context: T['context'];
61
- }): Promise<T['context']>;
62
- parentContext(options: {
63
- context: T['context'];
64
- }): Promise<T['context']>;
65
- childContext(options: {
66
- context: T['context'];
67
- element: T['element'];
68
- }): Promise<T['context']>;
69
59
  executeScript(options: {
70
60
  context: T['context'];
71
61
  script: string;
@@ -87,6 +77,15 @@ export interface UniversalSpecDriver<T extends SpecType> {
87
77
  parent?: T['element'];
88
78
  options?: WaitOptions;
89
79
  }): Promise<T['element'] | null>;
80
+ getElementRegion(options: {
81
+ context: T['context'];
82
+ element: T['element'];
83
+ }): Promise<Region>;
84
+ getElementAttribute(options: {
85
+ context: T['context'];
86
+ element: T['element'];
87
+ attr: string;
88
+ }): Promise<string>;
90
89
  setElementText(options: {
91
90
  context: T['context'];
92
91
  element: T['element'];
@@ -96,6 +95,30 @@ export interface UniversalSpecDriver<T extends SpecType> {
96
95
  context: T['context'];
97
96
  element: T['element'];
98
97
  }): Promise<string>;
98
+ hover(options: {
99
+ context: T['context'];
100
+ element: T['element'];
101
+ }): Promise<void>;
102
+ click(options: {
103
+ context: T['context'];
104
+ element: T['element'];
105
+ }): Promise<void>;
106
+ mainContext(options: {
107
+ context: T['context'];
108
+ }): Promise<T['context']>;
109
+ parentContext(options: {
110
+ context: T['context'];
111
+ }): Promise<T['context']>;
112
+ childContext(options: {
113
+ context: T['context'];
114
+ element: T['element'];
115
+ }): Promise<T['context']>;
116
+ getDriverInfo(options: {
117
+ driver: T['driver'];
118
+ }): Promise<DriverInfo>;
119
+ getCapabilities(options: {
120
+ driver: T['driver'];
121
+ }): Promise<Record<string, any>>;
99
122
  setWindowSize(options: {
100
123
  driver: T['driver'];
101
124
  size: Size;
@@ -110,40 +133,6 @@ export interface UniversalSpecDriver<T extends SpecType> {
110
133
  getViewportSize(options: {
111
134
  driver: T['driver'];
112
135
  }): Promise<Size>;
113
- getCookies(options: {
114
- driver: T['driver'] | T['context'];
115
- context?: boolean;
116
- }): Promise<Cookie[]>;
117
- getDriverInfo(options: {
118
- driver: T['driver'];
119
- }): Promise<DriverInfo>;
120
- getCapabilities(options: {
121
- driver: T['driver'];
122
- }): Promise<Record<string, any>>;
123
- getTitle(options: {
124
- driver: T['driver'];
125
- }): Promise<string>;
126
- getUrl(options: {
127
- driver: T['driver'];
128
- }): Promise<string>;
129
- takeScreenshot(options: {
130
- driver: T['driver'];
131
- }): Promise<string>;
132
- click(options: {
133
- context: T['context'];
134
- element: T['element'] | T['selector'];
135
- }): Promise<void>;
136
- visit(options: {
137
- driver: T['driver'];
138
- url: string;
139
- }): Promise<void>;
140
- getOrientation(options: {
141
- driver: T['driver'];
142
- }): Promise<'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary'>;
143
- setOrientation(options: {
144
- driver: T['driver'];
145
- orientation: 'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary';
146
- }): Promise<void>;
147
136
  getSystemBars(options: {
148
137
  driver: T['driver'];
149
138
  }): Promise<{
@@ -162,19 +151,34 @@ export interface UniversalSpecDriver<T extends SpecType> {
162
151
  width: number;
163
152
  };
164
153
  }>;
165
- getElementRegion(options: {
154
+ getOrientation(options: {
166
155
  driver: T['driver'];
167
- element: T['element'];
168
- }): Promise<Region>;
169
- getElementAttribute(options: {
156
+ }): Promise<'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary'>;
157
+ setOrientation(options: {
158
+ driver: T['driver'];
159
+ orientation: 'portrait' | 'landscape' | 'portrait-secondary' | 'landscape-secondary';
160
+ }): Promise<void>;
161
+ getCookies(options: {
162
+ driver: T['driver'] | T['context'];
163
+ context?: boolean;
164
+ }): Promise<Cookie[]>;
165
+ getTitle(options: {
166
+ driver: T['driver'];
167
+ }): Promise<string>;
168
+ getUrl(options: {
169
+ driver: T['driver'];
170
+ }): Promise<string>;
171
+ takeScreenshot(options: {
170
172
  driver: T['driver'];
171
- element: T['element'];
172
- attr: string;
173
173
  }): Promise<string>;
174
174
  performAction(options: {
175
175
  driver: T['driver'];
176
176
  steps: any[];
177
177
  }): Promise<void>;
178
+ visit(options: {
179
+ driver: T['driver'];
180
+ url: string;
181
+ }): Promise<void>;
178
182
  getCurrentWorld(options: {
179
183
  driver: T['driver'];
180
184
  }): Promise<string>;