@applitools/spec-driver-webdriver 1.1.20 → 1.1.21
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 +19 -0
- package/dist/spec-driver.js +37 -5
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [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)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* support webdriver.io 9 ([baee5ce](https://github.com/Applitools-Dev/sdk/commit/baee5ce96e8220c337b007e3a517b5546ce0fedc))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* @applitools/utils bumped to 1.7.6
|
|
14
|
+
#### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* support webdriver.io 9 ([baee5ce](https://github.com/Applitools-Dev/sdk/commit/baee5ce96e8220c337b007e3a517b5546ce0fedc))
|
|
17
|
+
* @applitools/logger bumped to 2.0.20
|
|
18
|
+
|
|
19
|
+
* @applitools/driver bumped to 1.20.1
|
|
20
|
+
|
|
21
|
+
|
|
3
22
|
## [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
23
|
|
|
5
24
|
|
package/dist/spec-driver.js
CHANGED
|
@@ -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
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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.
|
|
3
|
+
"version": "1.1.21",
|
|
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.
|
|
53
|
-
"@applitools/utils": "1.7.
|
|
52
|
+
"@applitools/driver": "1.20.1",
|
|
53
|
+
"@applitools/utils": "1.7.6",
|
|
54
54
|
"http-proxy-agent": "5.0.0",
|
|
55
55
|
"https-proxy-agent": "5.0.1"
|
|
56
56
|
},
|