@applitools/spec-driver-webdriver 1.1.20 → 1.1.22

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,43 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.1.22](https://github.com/Applitools-Dev/sdk/compare/js/spec-driver-webdriver@1.1.21...js/spec-driver-webdriver@1.1.22) (2024-12-31)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * @applitools/utils bumped to 1.7.7
9
+ #### Bug Fixes
10
+
11
+ * shim process execution functions for browser environment ([#2698](https://github.com/Applitools-Dev/sdk/issues/2698)) ([8d77db4](https://github.com/Applitools-Dev/sdk/commit/8d77db48e1c7fd54cad92c89a819a924255e5868))
12
+ * @applitools/logger bumped to 2.1.0
13
+ #### Features
14
+
15
+ * logger masking ([#2640](https://github.com/Applitools-Dev/sdk/issues/2640)) ([bd69d21](https://github.com/Applitools-Dev/sdk/commit/bd69d21f6341447b1acdb042f4ee1a6328d7428f))
16
+
17
+
18
+
19
+ * @applitools/driver bumped to 1.20.2
20
+
21
+
22
+ ## [1.1.21](https://github.com/Applitools-Dev/sdk/compare/js/spec-driver-webdriver@1.1.20...js/spec-driver-webdriver@1.1.21) (2024-12-18)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * support webdriver.io 9 ([baee5ce](https://github.com/Applitools-Dev/sdk/commit/baee5ce96e8220c337b007e3a517b5546ce0fedc))
28
+
29
+
30
+ ### Dependencies
31
+
32
+ * @applitools/utils bumped to 1.7.6
33
+ #### Bug Fixes
34
+
35
+ * support webdriver.io 9 ([baee5ce](https://github.com/Applitools-Dev/sdk/commit/baee5ce96e8220c337b007e3a517b5546ce0fedc))
36
+ * @applitools/logger bumped to 2.0.20
37
+
38
+ * @applitools/driver bumped to 1.20.1
39
+
40
+
3
41
  ## [1.1.20](https://github.com/Applitools-Dev/sdk/compare/js/spec-driver-webdriver@1.1.19...js/spec-driver-webdriver@1.1.20) (2024-11-12)
4
42
 
5
43
 
@@ -33,6 +33,8 @@ const https_proxy_agent_1 = __importDefault(require("https-proxy-agent"));
33
33
  const http_1 = __importDefault(require("http"));
34
34
  const https_1 = __importDefault(require("https"));
35
35
  const utils = __importStar(require("@applitools/utils"));
36
+ const path_1 = __importDefault(require("path"));
37
+ const fs_1 = __importDefault(require("fs"));
36
38
  const LEGACY_ELEMENT_ID = 'ELEMENT';
37
39
  const ELEMENT_ID = 'element-6066-11e4-a52e-4f735466cecf';
38
40
  const SHADOW_ROOT_ID = 'shadow-6066-11e4-a52e-4f735466cecf';
@@ -74,9 +76,20 @@ function extractEnvironment(capabilities) {
74
76
  isW3C,
75
77
  };
76
78
  }
79
+ function getPackageJson(packageName) {
80
+ const packagePath = require.resolve(packageName);
81
+ const packageRoot = packagePath.replace(new RegExp(`${path_1.default.sep}${packageName}${path_1.default.sep}.*$`), path_1.default.sep + packageName);
82
+ const packageJsonPath = path_1.default.join(packageRoot, 'package.json');
83
+ return JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf-8'));
84
+ }
77
85
  function getFrameworkMajorVersion() {
78
- const version = require('webdriver/package.json').version;
79
- return Number.parseInt(version);
86
+ try {
87
+ const version = getPackageJson('webdriver').version;
88
+ return Number.parseInt(version);
89
+ }
90
+ catch {
91
+ return 99999; // if we failed to detect the version, let's assume it's a new version
92
+ }
80
93
  }
81
94
  function getWebDriver() {
82
95
  return getFrameworkMajorVersion() < 8 ? require('webdriver').default : require('webdriver');
@@ -304,8 +317,12 @@ async function getElementText(driver, element) {
304
317
  }
305
318
  exports.getElementText = getElementText;
306
319
  async function hover(driver, element) {
307
- if (!driver.isW3C)
308
- return await driver.moveToElement(extractElementId(element));
320
+ if (!driver.isW3C) {
321
+ try {
322
+ return await driver.moveToElement(extractElementId(element));
323
+ }
324
+ catch { }
325
+ }
309
326
  await driver.performActions([
310
327
  {
311
328
  type: 'pointer',
@@ -351,6 +368,7 @@ async function getWindowSize(driver) {
351
368
  return { width: rect.width, height: rect.height };
352
369
  }
353
370
  catch {
371
+ // for old versions of webdriver
354
372
  return driver._getWindowSize();
355
373
  }
356
374
  }
@@ -360,6 +378,7 @@ async function setWindowSize(driver, size) {
360
378
  await driver.setWindowRect(0, 0, size.width, size.height);
361
379
  }
362
380
  catch {
381
+ // for old versions of webdriver
363
382
  await driver.setWindowPosition(0, 0);
364
383
  await driver._setWindowSize(size.width, size.height);
365
384
  }
@@ -388,7 +407,20 @@ async function getSystemBars(browser) {
388
407
  exports.getSystemBars = getSystemBars;
389
408
  async function getCookies(driver, context) {
390
409
  if (context)
391
- return driver.getAllCookies();
410
+ return driver.getAllCookies().then(cookies => cookies.map(cookie => ({
411
+ ...cookie,
412
+ sameSite: cookie.sameSite &&
413
+ {
414
+ // webdriver 7 returns the sameSite value in lowercase
415
+ strict: 'Strict',
416
+ lax: 'Lax',
417
+ none: 'None',
418
+ // webdriver 9 returns the sameSite value in CamelCase
419
+ Strict: 'Strict',
420
+ Lax: 'Lax',
421
+ None: 'None',
422
+ }[cookie.sameSite],
423
+ })));
392
424
  const response = await driver.sendCommandAndGetResult('Network.getAllCookies', {});
393
425
  const cookies = response.cookies;
394
426
  return cookies.map((cookie) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applitools/spec-driver-webdriver",
3
- "version": "1.1.20",
3
+ "version": "1.1.22",
4
4
  "keywords": [
5
5
  "webdriver",
6
6
  "chrome devtools protocol",
@@ -49,8 +49,8 @@
49
49
  "up:framework": "echo \"$(jq '.devDependencies.webdriver = $ENV.APPLITOOLS_FRAMEWORK_VERSION' ./package.json)\" > ./package.json"
50
50
  },
51
51
  "dependencies": {
52
- "@applitools/driver": "1.20.0",
53
- "@applitools/utils": "1.7.5",
52
+ "@applitools/driver": "1.20.2",
53
+ "@applitools/utils": "1.7.7",
54
54
  "http-proxy-agent": "5.0.0",
55
55
  "https-proxy-agent": "5.0.1"
56
56
  },