appium-chromedriver 5.3.4 → 5.4.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 +14 -0
- package/README.md +12 -2
- package/build/lib/chromedriver.d.ts +9 -2
- package/build/lib/chromedriver.d.ts.map +1 -1
- package/build/lib/chromedriver.js +47 -14
- package/build/lib/chromedriver.js.map +1 -1
- package/config/mapping.json +1 -0
- package/lib/chromedriver.js +51 -14
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## [5.4.1](https://github.com/appium/appium-chromedriver/compare/v5.4.0...v5.4.1) (2023-05-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Miscellaneous Chores
|
|
5
|
+
|
|
6
|
+
* ChromeDriver Bump to v113.0.5672.63 ([#301](https://github.com/appium/appium-chromedriver/issues/301)) ([7e6cbc1](https://github.com/appium/appium-chromedriver/commit/7e6cbc1bc4bd718b2ff190887dbf3b04f57d29d1))
|
|
7
|
+
|
|
8
|
+
## [5.4.0](https://github.com/appium/appium-chromedriver/compare/v5.3.4...v5.4.0) (2023-04-13)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* parse msedge as well as chromedriver ([#297](https://github.com/appium/appium-chromedriver/issues/297)) ([a71240b](https://github.com/appium/appium-chromedriver/commit/a71240b60c79abad61217354e392dbed4d5dfec2))
|
|
14
|
+
|
|
1
15
|
## [5.3.4](https://github.com/appium/appium-chromedriver/compare/v5.3.3...v5.3.4) (2023-04-10)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -3,7 +3,9 @@ appium-chromedriver
|
|
|
3
3
|
|
|
4
4
|
[](https://github.com/appium/appium-chromedriver/actions/workflows/publish.js.yml)
|
|
5
5
|
|
|
6
|
-
Node.js wrapper around [Chromedriver](https://sites.google.com/
|
|
6
|
+
Node.js wrapper around [Chromedriver](https://sites.google.com/chromium.org/driver/)
|
|
7
|
+
and [Microsoft Edge WebDriver](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/).
|
|
8
|
+
The Microsoft Edge WebDriver support is since v5.4.0.
|
|
7
9
|
This wrapper is not used directly in Appium, but rather by various Android drivers to automate
|
|
8
10
|
Chrome/Chromium-based browsers
|
|
9
11
|
and web views using Hybrid Mode approach. Check the corresponding driver tutorials to get
|
|
@@ -11,9 +13,17 @@ more details on it.
|
|
|
11
13
|
|
|
12
14
|
> **Note**
|
|
13
15
|
>
|
|
14
|
-
>
|
|
16
|
+
> This package is intended to be used as a helper module for Appium drivers such as
|
|
17
|
+
> [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver/) and
|
|
18
|
+
> [appium-chromium-driver](https://github.com/appium/appium-chromium-driver).
|
|
19
|
+
> It was not created for standalone usage.
|
|
15
20
|
> Please ensure you know what you are doing before using this package directly.
|
|
16
21
|
|
|
22
|
+
> **Note**
|
|
23
|
+
>
|
|
24
|
+
> This package can work with Microsoft Edge WebDriver as well, but the support is limited.
|
|
25
|
+
> For example, automatic downloads do not work for Microsoft Edge WebDriver.
|
|
26
|
+
|
|
17
27
|
## Skipping binary installation
|
|
18
28
|
|
|
19
29
|
By default, upon installation the package downloads the most recent known Chromedriver version from
|
|
@@ -33,6 +33,7 @@ export class Chromedriver extends events {
|
|
|
33
33
|
/** @type {any} */
|
|
34
34
|
capabilities: any;
|
|
35
35
|
desiredProtocol: string;
|
|
36
|
+
driverVersion: string | null;
|
|
36
37
|
get log(): import("@appium/types").AppiumLogger;
|
|
37
38
|
getDriversMapping(): Promise<any>;
|
|
38
39
|
/**
|
|
@@ -52,10 +53,16 @@ export class Chromedriver extends events {
|
|
|
52
53
|
getCompatibleChromedriver(): Promise<string>;
|
|
53
54
|
initChromedriverPath(): Promise<string>;
|
|
54
55
|
/**
|
|
56
|
+
* Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
|
|
57
|
+
* Does nothing if this.driverVersion was null.
|
|
58
|
+
*/
|
|
59
|
+
syncProtocol(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Sync the protocol by reading the given output
|
|
55
62
|
*
|
|
56
|
-
* @param {string}
|
|
63
|
+
* @param {string} out The output of WebDriver process start
|
|
57
64
|
*/
|
|
58
|
-
|
|
65
|
+
detectWebDriverProtocol(out: string): void;
|
|
59
66
|
/**
|
|
60
67
|
*
|
|
61
68
|
* @param {object} caps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":";;yCAs2Ba,OAAO,SAAS,EAAE,0BAA0B;AAp0BzD;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EAqD5C;IAhCC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,2CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IACF,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,wBAAwC;IAGxC,6BAAoD;IAGtD,gDAEC;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAiGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,QAAQ,IAAI,CAAC,CAuBzB;IAED;;OAEG;IACH,6BAFa,QAAQ,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;OAGG;IACH,qBA6BC;IAED;;;;OAIG;IACH,6BAFW,MAAM,QA2BhB;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,iBA4HjB;IAED,2BAEC;IAED,yBAQC;IAED,+BAcC;IAED,0BAEC;IAED,8BAcC;IAED,0CAuBC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,gBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;mBAx1BkB,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;sCAkBhB,kBAAkB;mBAJrC,QAAQ"}
|
|
@@ -26,6 +26,7 @@ const CHROME_BUNDLE_ID = 'com.android.chrome';
|
|
|
26
26
|
const WEBVIEW_SHELL_BUNDLE_ID = 'org.chromium.webview_shell';
|
|
27
27
|
const WEBVIEW_BUNDLE_IDS = ['com.google.android.webview', 'com.android.webview'];
|
|
28
28
|
const VERSION_PATTERN = /([\d.]+)/;
|
|
29
|
+
const WEBDRIVER_VERSION_PATTERN = /Starting (ChromeDriver|Microsoft Edge WebDriver) ([.\d]+)/;
|
|
29
30
|
const CD_VERSION_TIMEOUT = 5000;
|
|
30
31
|
class Chromedriver extends events_1.default.EventEmitter {
|
|
31
32
|
/**
|
|
@@ -63,6 +64,8 @@ class Chromedriver extends events_1.default.EventEmitter {
|
|
|
63
64
|
/** @type {any} */
|
|
64
65
|
this.capabilities = {};
|
|
65
66
|
this.desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
|
|
67
|
+
// Store the running driver version
|
|
68
|
+
this.driverVersion = /** @type {string|null} */ null;
|
|
66
69
|
}
|
|
67
70
|
get log() {
|
|
68
71
|
return this._log;
|
|
@@ -407,19 +410,24 @@ class Chromedriver extends events_1.default.EventEmitter {
|
|
|
407
410
|
return /** @type {string} */ (this.chromedriver);
|
|
408
411
|
}
|
|
409
412
|
/**
|
|
410
|
-
*
|
|
411
|
-
*
|
|
413
|
+
* Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
|
|
414
|
+
* Does nothing if this.driverVersion was null.
|
|
412
415
|
*/
|
|
413
|
-
syncProtocol(
|
|
414
|
-
|
|
416
|
+
syncProtocol() {
|
|
417
|
+
if (this.driverVersion === null) {
|
|
418
|
+
// Keep the default protocol if the driverVersion was unsure.
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
const coercedVersion = semver_1.default.coerce(this.driverVersion);
|
|
415
422
|
if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
|
|
416
|
-
this.log.debug(`
|
|
423
|
+
this.log.debug(`The WebDriver v. ${this.driverVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
|
|
417
424
|
`Defaulting to ${base_driver_1.PROTOCOLS.MJSONWP}`);
|
|
418
425
|
return;
|
|
419
426
|
}
|
|
427
|
+
// Check only chromeOptions for now.
|
|
420
428
|
const chromeOptions = (0, protocol_helpers_1.getCapValue)(this.capabilities, 'chromeOptions', {});
|
|
421
429
|
if (chromeOptions.w3c === false) {
|
|
422
|
-
this.log.info(`
|
|
430
|
+
this.log.info(`The WebDriver v. ${this.driverVersion} supports ${base_driver_1.PROTOCOLS.W3C} protocol, ` +
|
|
423
431
|
`but ${base_driver_1.PROTOCOLS.MJSONWP} one has been explicitly requested`);
|
|
424
432
|
return;
|
|
425
433
|
}
|
|
@@ -429,6 +437,37 @@ class Chromedriver extends events_1.default.EventEmitter {
|
|
|
429
437
|
// the new W3C session
|
|
430
438
|
this.capabilities = (0, protocol_helpers_1.toW3cCapNames)(this.capabilities);
|
|
431
439
|
}
|
|
440
|
+
/**
|
|
441
|
+
* Sync the protocol by reading the given output
|
|
442
|
+
*
|
|
443
|
+
* @param {string} out The output of WebDriver process start
|
|
444
|
+
*/
|
|
445
|
+
detectWebDriverProtocol(out) {
|
|
446
|
+
if (this.driverVersion) {
|
|
447
|
+
// Nothing is done if the protocol was already detected
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
// also print chromedriver version to logs
|
|
451
|
+
// will output something like
|
|
452
|
+
// Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
|
|
453
|
+
// Or MSEdge:
|
|
454
|
+
// Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
|
|
455
|
+
const match = WEBDRIVER_VERSION_PATTERN.exec(out);
|
|
456
|
+
if (match && match.length === 3) {
|
|
457
|
+
this.log.debug(`${match[1]} version: '${match[2]}'`);
|
|
458
|
+
this.driverVersion = match[2];
|
|
459
|
+
try {
|
|
460
|
+
this.syncProtocol();
|
|
461
|
+
}
|
|
462
|
+
catch (e) {
|
|
463
|
+
this.driverVersion = null;
|
|
464
|
+
this.log.error(`Failed to sync the protocol as '${e}'. Stopping the driver process.`);
|
|
465
|
+
this.stop();
|
|
466
|
+
}
|
|
467
|
+
// Does not print else condition log since the log could be
|
|
468
|
+
// very noisy when this.verbose option is true.
|
|
469
|
+
}
|
|
470
|
+
}
|
|
432
471
|
/**
|
|
433
472
|
*
|
|
434
473
|
* @param {object} caps
|
|
@@ -486,14 +525,7 @@ class Chromedriver extends events_1.default.EventEmitter {
|
|
|
486
525
|
webviewVersion = match[1];
|
|
487
526
|
this.log.debug(`Webview version: '${webviewVersion}'`);
|
|
488
527
|
}
|
|
489
|
-
|
|
490
|
-
// will output something like
|
|
491
|
-
// Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
|
|
492
|
-
match = /Starting ChromeDriver ([.\d]+)/.exec(out);
|
|
493
|
-
if (match) {
|
|
494
|
-
this.log.debug(`Chromedriver version: '${match[1]}'`);
|
|
495
|
-
this.syncProtocol(match[1]);
|
|
496
|
-
}
|
|
528
|
+
this.detectWebDriverProtocol(out);
|
|
497
529
|
// give the output if it is requested
|
|
498
530
|
if (this.verbose) {
|
|
499
531
|
for (let line of (stdout || '').trim().split('\n')) {
|
|
@@ -510,6 +542,7 @@ class Chromedriver extends events_1.default.EventEmitter {
|
|
|
510
542
|
});
|
|
511
543
|
// handle out-of-bound exit by simply emitting a stopped state
|
|
512
544
|
this.proc.on('exit', (code, signal) => {
|
|
545
|
+
this.driverVersion = null;
|
|
513
546
|
processIsAlive = false;
|
|
514
547
|
if (this.state !== Chromedriver.STATE_STOPPED &&
|
|
515
548
|
this.state !== Chromedriver.STATE_STOPPING &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"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"}
|
package/config/mapping.json
CHANGED
package/lib/chromedriver.js
CHANGED
|
@@ -28,6 +28,7 @@ const CHROME_BUNDLE_ID = 'com.android.chrome';
|
|
|
28
28
|
const WEBVIEW_SHELL_BUNDLE_ID = 'org.chromium.webview_shell';
|
|
29
29
|
const WEBVIEW_BUNDLE_IDS = ['com.google.android.webview', 'com.android.webview'];
|
|
30
30
|
const VERSION_PATTERN = /([\d.]+)/;
|
|
31
|
+
const WEBDRIVER_VERSION_PATTERN = /Starting (ChromeDriver|Microsoft Edge WebDriver) ([.\d]+)/;
|
|
31
32
|
|
|
32
33
|
const CD_VERSION_TIMEOUT = 5000;
|
|
33
34
|
|
|
@@ -84,6 +85,9 @@ class Chromedriver extends events.EventEmitter {
|
|
|
84
85
|
/** @type {any} */
|
|
85
86
|
this.capabilities = {};
|
|
86
87
|
this.desiredProtocol = PROTOCOLS.MJSONWP;
|
|
88
|
+
|
|
89
|
+
// Store the running driver version
|
|
90
|
+
this.driverVersion = /** @type {string|null} */ null;
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
get log() {
|
|
@@ -498,22 +502,29 @@ class Chromedriver extends events.EventEmitter {
|
|
|
498
502
|
}
|
|
499
503
|
|
|
500
504
|
/**
|
|
501
|
-
*
|
|
502
|
-
*
|
|
505
|
+
* Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
|
|
506
|
+
* Does nothing if this.driverVersion was null.
|
|
503
507
|
*/
|
|
504
|
-
syncProtocol(
|
|
505
|
-
|
|
508
|
+
syncProtocol() {
|
|
509
|
+
if (this.driverVersion === null) {
|
|
510
|
+
// Keep the default protocol if the driverVersion was unsure.
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
const coercedVersion = semver.coerce(this.driverVersion);
|
|
506
515
|
if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
|
|
507
516
|
this.log.debug(
|
|
508
|
-
`
|
|
517
|
+
`The WebDriver v. ${this.driverVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
|
|
509
518
|
`Defaulting to ${PROTOCOLS.MJSONWP}`
|
|
510
519
|
);
|
|
511
520
|
return;
|
|
512
521
|
}
|
|
522
|
+
|
|
523
|
+
// Check only chromeOptions for now.
|
|
513
524
|
const chromeOptions = getCapValue(this.capabilities, 'chromeOptions', {});
|
|
514
525
|
if (chromeOptions.w3c === false) {
|
|
515
526
|
this.log.info(
|
|
516
|
-
`
|
|
527
|
+
`The WebDriver v. ${this.driverVersion} supports ${PROTOCOLS.W3C} protocol, ` +
|
|
517
528
|
`but ${PROTOCOLS.MJSONWP} one has been explicitly requested`
|
|
518
529
|
);
|
|
519
530
|
return;
|
|
@@ -525,6 +536,38 @@ class Chromedriver extends events.EventEmitter {
|
|
|
525
536
|
this.capabilities = toW3cCapNames(this.capabilities);
|
|
526
537
|
}
|
|
527
538
|
|
|
539
|
+
/**
|
|
540
|
+
* Sync the protocol by reading the given output
|
|
541
|
+
*
|
|
542
|
+
* @param {string} out The output of WebDriver process start
|
|
543
|
+
*/
|
|
544
|
+
detectWebDriverProtocol(out) {
|
|
545
|
+
if (this.driverVersion) {
|
|
546
|
+
// Nothing is done if the protocol was already detected
|
|
547
|
+
return;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
// also print chromedriver version to logs
|
|
551
|
+
// will output something like
|
|
552
|
+
// Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
|
|
553
|
+
// Or MSEdge:
|
|
554
|
+
// Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
|
|
555
|
+
const match = WEBDRIVER_VERSION_PATTERN.exec(out);
|
|
556
|
+
if (match && match.length === 3) {
|
|
557
|
+
this.log.debug(`${match[1]} version: '${match[2]}'`);
|
|
558
|
+
this.driverVersion = match[2];
|
|
559
|
+
try {
|
|
560
|
+
this.syncProtocol();
|
|
561
|
+
} catch (e) {
|
|
562
|
+
this.driverVersion = null;
|
|
563
|
+
this.log.error(`Failed to sync the protocol as '${e}'. Stopping the driver process.`);
|
|
564
|
+
this.stop();
|
|
565
|
+
}
|
|
566
|
+
// Does not print else condition log since the log could be
|
|
567
|
+
// very noisy when this.verbose option is true.
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
|
|
528
571
|
/**
|
|
529
572
|
*
|
|
530
573
|
* @param {object} caps
|
|
@@ -589,14 +632,7 @@ class Chromedriver extends events.EventEmitter {
|
|
|
589
632
|
this.log.debug(`Webview version: '${webviewVersion}'`);
|
|
590
633
|
}
|
|
591
634
|
|
|
592
|
-
|
|
593
|
-
// will output something like
|
|
594
|
-
// Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
|
|
595
|
-
match = /Starting ChromeDriver ([.\d]+)/.exec(out);
|
|
596
|
-
if (match) {
|
|
597
|
-
this.log.debug(`Chromedriver version: '${match[1]}'`);
|
|
598
|
-
this.syncProtocol(match[1]);
|
|
599
|
-
}
|
|
635
|
+
this.detectWebDriverProtocol(out);
|
|
600
636
|
|
|
601
637
|
// give the output if it is requested
|
|
602
638
|
if (this.verbose) {
|
|
@@ -613,6 +649,7 @@ class Chromedriver extends events.EventEmitter {
|
|
|
613
649
|
|
|
614
650
|
// handle out-of-bound exit by simply emitting a stopped state
|
|
615
651
|
this.proc.on('exit', (code, signal) => {
|
|
652
|
+
this.driverVersion = null;
|
|
616
653
|
processIsAlive = false;
|
|
617
654
|
if (
|
|
618
655
|
this.state !== Chromedriver.STATE_STOPPED &&
|