appium-chromedriver 5.6.63 → 5.6.65

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,3 +1,15 @@
1
+ ## [5.6.65](https://github.com/appium/appium-chromedriver/compare/v5.6.64...v5.6.65) (2024-07-20)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * Optimize process events handling ([#415](https://github.com/appium/appium-chromedriver/issues/415)) ([7eb8555](https://github.com/appium/appium-chromedriver/commit/7eb85554274c0cef0cf5aba7b4d905cf5fe70701))
6
+
7
+ ## [5.6.64](https://github.com/appium/appium-chromedriver/compare/v5.6.63...v5.6.64) (2024-07-17)
8
+
9
+ ### Miscellaneous Chores
10
+
11
+ * ChromeDriver Bump to v126.0.6478.182 ([#414](https://github.com/appium/appium-chromedriver/issues/414)) ([192418c](https://github.com/appium/appium-chromedriver/commit/192418cc7859dfe251e53a6e9440c0e050860baa))
12
+
1
13
  ## [5.6.63](https://github.com/appium/appium-chromedriver/compare/v5.6.62...v5.6.63) (2024-07-10)
2
14
 
3
15
  ### Miscellaneous Chores
@@ -55,15 +55,18 @@ export class Chromedriver extends events<[never]> {
55
55
  initChromedriverPath(): Promise<string>;
56
56
  /**
57
57
  * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
58
- * Does nothing if this.driverVersion was null.
58
+ * Does nothing if this.driverVersion is null.
59
+ *
60
+ * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS]}
59
61
  */
60
- syncProtocol(): void;
62
+ syncProtocol(): (typeof PROTOCOLS)[keyof typeof PROTOCOLS];
61
63
  /**
62
64
  * Sync the protocol by reading the given output
63
65
  *
64
- * @param {string} out The output of WebDriver process start
66
+ * @param {string} line The output of ChromeDriver process
67
+ * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS] | null}
65
68
  */
66
- detectWebDriverProtocol(out: string): void;
69
+ detectWebDriverProtocol(line: string): (typeof PROTOCOLS)[keyof typeof PROTOCOLS] | null;
67
70
  /**
68
71
  *
69
72
  * @param {object} caps
@@ -117,4 +120,5 @@ import { SubProcess } from 'teen_process';
117
120
  import { JWProxy } from '@appium/base-driver';
118
121
  import ChromedriverStorageClient from './storage-client/storage-client';
119
122
  import semver from 'semver';
123
+ import { PROTOCOLS } from '@appium/base-driver';
120
124
  //# sourceMappingURL=chromedriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"AAiCA;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EA+D5C;IA1CC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,8CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IAIA,+BAAiC;IAMnC,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,8BAA8B;IAC9B,mCAAwC;IAGxC,6BAAoD;IAGtD,gDAEC;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAgGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACH,6BAFa,OAAO,CAAC,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;OAGG;IACH,qBA6BC;IAED;;;;OAIG;IACH,6BAFW,MAAM,QA2BhB;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,4CA4HjB;IAED,2BAEC;IAED,yBAQC;IAED,+BAcC;IAED,8BAEC;IAED,6CAeC;IAED,0CAuBC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,oBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;yCAWY,OAAO,SAAS,EAAE,0BAA0B;iCAI5C;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC;mBAl3B7B,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;sCAiBhB,iCAAiC;mBAJpD,QAAQ"}
1
+ {"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../lib/chromedriver.js"],"names":[],"mappings":"AAiCA;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,gBAAgB,EA+D5C;IA1CC,2CAAqD;IAErD,kBAAqB;IACrB,2BAAqB;IACrB,8CAAc;IACd,8BAAsB;IACtB,wBAAgB;IAChB,6BAA8C;IAC9C,iCAA8B;IAC9B,sBAAkC;IAClC,gCAA8B;IAC9B,6BAAwB;IACxB,4BAA+B;IAC/B,cAAuC;IACvC,iBAIE;IAIA,+BAAiC;IAMnC,6BAAsB;IACtB,4BAAsB;IACtB,2BAA4C;IAC5C,gDAEQ;IACR;;;;kBAAsB;IACtB,kBAAkB;IAClB,cADW,GAAG,CACQ;IACtB,8BAA8B;IAC9B,mCAAwC;IAGxC,6BAAoD;IAGtD,gDAEC;IAED,kCA8BC;IAED;;OAEG;IACH,0BAFW,0BAA0B,kBAgGpC;IAED,kDAmEC;IAED;;;;OAIG;IACH,iCAHW,0BAA0B,GACxB,OAAO,CAAC,IAAI,CAAC,CAuBzB;IAED;;;;OAIG;IACH,6BAFa,OAAO,CAAC,MAAM,CAAC,CAqJ3B;IAED,wCAwBC;IAED;;;;;OAKG;IACH,gBAFa,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC,CA8BpD;IAED;;;;;OAKG;IACH,8BAHW,MAAM,GACJ,CAAA,OAAO,SAAS,EAAC,MAAM,OAAO,SAAS,CAAC,GAAG,IAAI,CA2B3D;IAED;;;;OAIG;IACH,YAHW,MAAM,sBACN,OAAO,4CAuIjB;IAED,2BAEC;IAED,yBAQC;IAED,+BAcC;IAED,8BAEC;IAED,6CAeC;IAED,0CA2BC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;;;;OAMG;IACH,iBALW,MAAM,UACN,MAAM,GAAC,KAAK,GAAC,QAAQ,QACrB,GAAG,oBAKb;IAED;;;;;OAKG;IACH,cAJW,GAAG,OACH,GAAG,iBAKb;IAED,yBAuCC;IAED,sCASC;CACF;;;;;;;;;;yCAWY,OAAO,SAAS,EAAE,0BAA0B;iCAI5C;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAC;mBAn4B7B,QAAQ;2BAKI,cAAc;wBAJZ,qBAAqB;sCAiBhB,iCAAiC;mBAJpD,QAAQ;0BAbM,qBAAqB"}
@@ -421,62 +421,64 @@ class Chromedriver extends events_1.default.EventEmitter {
421
421
  }
422
422
  /**
423
423
  * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
424
- * Does nothing if this.driverVersion was null.
424
+ * Does nothing if this.driverVersion is null.
425
+ *
426
+ * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS]}
425
427
  */
426
428
  syncProtocol() {
427
- if (this.driverVersion === null) {
429
+ if (!this.driverVersion) {
428
430
  // Keep the default protocol if the driverVersion was unsure.
429
- return;
431
+ return this.desiredProtocol;
430
432
  }
433
+ this.desiredProtocol = base_driver_1.PROTOCOLS.MJSONWP;
431
434
  const coercedVersion = semver_1.default.coerce(this.driverVersion);
432
435
  if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
433
- this.log.debug(`The WebDriver v. ${this.driverVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
436
+ this.log.info(`The ChromeDriver v. ${this.driverVersion} does not fully support ${base_driver_1.PROTOCOLS.W3C} protocol. ` +
434
437
  `Defaulting to ${base_driver_1.PROTOCOLS.MJSONWP}`);
435
- return;
438
+ return this.desiredProtocol;
436
439
  }
437
440
  // Check only chromeOptions for now.
438
441
  const chromeOptions = (0, protocol_helpers_1.getCapValue)(this.capabilities, 'chromeOptions', {});
439
442
  if (chromeOptions.w3c === false) {
440
- this.log.info(`The WebDriver v. ${this.driverVersion} supports ${base_driver_1.PROTOCOLS.W3C} protocol, ` +
443
+ this.log.info(`The ChromeDriver v. ${this.driverVersion} supports ${base_driver_1.PROTOCOLS.W3C} protocol, ` +
441
444
  `but ${base_driver_1.PROTOCOLS.MJSONWP} one has been explicitly requested`);
442
- return;
445
+ return this.desiredProtocol;
443
446
  }
444
447
  this.desiredProtocol = base_driver_1.PROTOCOLS.W3C;
445
- // given caps might not be properly prefixed
446
- // so we try to fix them in order to properly init
447
- // the new W3C session
448
- this.capabilities = (0, protocol_helpers_1.toW3cCapNames)(this.capabilities);
448
+ this.log.info(`Set ChromeDriver communication protocol to ${base_driver_1.PROTOCOLS.W3C}`);
449
+ return this.desiredProtocol;
449
450
  }
450
451
  /**
451
452
  * Sync the protocol by reading the given output
452
453
  *
453
- * @param {string} out The output of WebDriver process start
454
+ * @param {string} line The output of ChromeDriver process
455
+ * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS] | null}
454
456
  */
455
- detectWebDriverProtocol(out) {
457
+ detectWebDriverProtocol(line) {
456
458
  if (this.driverVersion) {
457
- // Nothing is done if the protocol was already detected
458
- return;
459
+ return this.syncProtocol();
459
460
  }
460
461
  // also print chromedriver version to logs
461
462
  // will output something like
462
463
  // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
463
464
  // Or MSEdge:
464
465
  // Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
465
- const match = WEBDRIVER_VERSION_PATTERN.exec(out);
466
+ const match = WEBDRIVER_VERSION_PATTERN.exec(line);
466
467
  if (match && match.length === 3) {
467
468
  this.log.debug(`${match[1]} version: '${match[2]}'`);
468
469
  this.driverVersion = match[2];
469
470
  try {
470
- this.syncProtocol();
471
+ return this.syncProtocol();
471
472
  }
472
473
  catch (e) {
473
474
  this.driverVersion = null;
474
- this.log.error(`Failed to sync the protocol as '${e}'. Stopping the driver process.`);
475
+ this.log.error(`Stopping the chromedriver process. Cannot determinate the protocol: ${e}`);
475
476
  this.stop();
476
477
  }
477
478
  // Does not print else condition log since the log could be
478
479
  // very noisy when this.verbose option is true.
479
480
  }
481
+ return null;
480
482
  }
481
483
  /**
482
484
  *
@@ -511,7 +513,9 @@ class Chromedriver extends events_1.default.EventEmitter {
511
513
  // the process has started to our satisfaction?
512
514
  const startDetector = /** @param {string} stdout */ (stdout) => stdout.startsWith('Starting ');
513
515
  let processIsAlive = false;
516
+ /** @type {string|undefined} */
514
517
  let webviewVersion;
518
+ let didDetectProtocol = false;
515
519
  try {
516
520
  const chromedriverPath = await this.initChromedriverPath();
517
521
  await this.killAll();
@@ -519,39 +523,42 @@ class Chromedriver extends events_1.default.EventEmitter {
519
523
  this.proc = new teen_process_1.SubProcess(chromedriverPath, args);
520
524
  processIsAlive = true;
521
525
  // handle log output
522
- this.proc.on('output', (stdout, stderr) => {
523
- // if the cd output is not printed, find the chrome version and print
524
- // will get a response like
525
- // DevTools response: {
526
- // "Android-Package": "io.appium.sampleapp",
527
- // "Browser": "Chrome/55.0.2883.91",
528
- // "Protocol-Version": "1.2",
529
- // "User-Agent": "...",
530
- // "WebKit-Version": "537.36"
531
- // }
532
- const out = stdout + stderr;
533
- let match = /"Browser": "(.*)"/.exec(out);
534
- if (match) {
535
- webviewVersion = match[1];
536
- this.log.debug(`Webview version: '${webviewVersion}'`);
537
- }
538
- this.detectWebDriverProtocol(out);
539
- // give the output if it is requested
540
- if (this.verbose) {
541
- for (let line of (stdout || '').trim().split('\n')) {
542
- if (!line.trim().length)
543
- continue; // eslint-disable-line curly
544
- this.log.debug(`[STDOUT] ${line}`);
526
+ for (const streamName of ['stderr', 'stdout']) {
527
+ this.proc.on(`line-${streamName}`, (line) => {
528
+ // if the cd output is not printed, find the chrome version and print
529
+ // will get a response like
530
+ // DevTools response: {
531
+ // "Android-Package": "io.appium.sampleapp",
532
+ // "Browser": "Chrome/55.0.2883.91",
533
+ // "Protocol-Version": "1.2",
534
+ // "User-Agent": "...",
535
+ // "WebKit-Version": "537.36"
536
+ // }
537
+ if (!webviewVersion) {
538
+ const match = /"Browser": "([^"]+)"/.exec(line);
539
+ if (match) {
540
+ webviewVersion = match[1];
541
+ this.log.debug(`Webview version: '${webviewVersion}'`);
542
+ }
545
543
  }
546
- for (let line of (stderr || '').trim().split('\n')) {
547
- if (!line.trim().length)
548
- continue; // eslint-disable-line curly
549
- this.log.error(`[STDERR] ${line}`);
544
+ if (!didDetectProtocol) {
545
+ const proto = this.detectWebDriverProtocol(line);
546
+ if (proto === base_driver_1.PROTOCOLS.W3C) {
547
+ // given caps might not be properly prefixed
548
+ // so we try to fix them in order to properly init
549
+ // the new W3C session
550
+ this.capabilities = (0, protocol_helpers_1.toW3cCapNames)(this.capabilities);
551
+ }
552
+ didDetectProtocol = true;
550
553
  }
551
- }
552
- });
554
+ if (this.verbose) {
555
+ // give the output if it is requested
556
+ this.log.debug(`[${streamName.toUpperCase()}] ${line}`);
557
+ }
558
+ });
559
+ }
553
560
  // handle out-of-bound exit by simply emitting a stopped state
554
- this.proc.on('exit', (code, signal) => {
561
+ this.proc.once('exit', (code, signal) => {
555
562
  this.driverVersion = null;
556
563
  processIsAlive = false;
557
564
  if (this.state !== Chromedriver.STATE_STOPPED &&
@@ -561,6 +568,8 @@ class Chromedriver extends events_1.default.EventEmitter {
561
568
  this.log.error(msg);
562
569
  this.changeState(Chromedriver.STATE_STOPPED);
563
570
  }
571
+ this.proc?.removeAllListeners();
572
+ this.proc = null;
564
573
  });
565
574
  this.log.info(`Spawning chromedriver with: ${this.chromedriver} ${args.join(' ')}`);
566
575
  // start subproc and wait for startDetector
@@ -577,6 +586,8 @@ class Chromedriver extends events_1.default.EventEmitter {
577
586
  if (processIsAlive) {
578
587
  await this.proc?.stop();
579
588
  }
589
+ this.proc?.removeAllListeners();
590
+ this.proc = null;
580
591
  let message = '';
581
592
  // often the user's Chrome version is not supported by the version of Chromedriver
582
593
  if (err.message.includes('Chrome version must be')) {
@@ -655,7 +666,11 @@ class Chromedriver extends events_1.default.EventEmitter {
655
666
  }
656
667
  };
657
668
  await runSafeStep(() => this.jwproxy.command('', 'DELETE'));
658
- await runSafeStep(() => this.proc?.stop('SIGTERM', 20000));
669
+ await runSafeStep(() => {
670
+ this.proc?.stop('SIGTERM', 20000);
671
+ this.proc?.removeAllListeners();
672
+ this.proc = null;
673
+ });
659
674
  this.log.prefix = (0, utils_1.generateLogPrefix)(this);
660
675
  if (emitStates) {
661
676
  this.changeState(Chromedriver.STATE_STOPPED);
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  {
2
+ "126.0.6478.182": "126.0.6478.182",
2
3
  "126.0.6478.126": "126.0.6478.126",
3
4
  "126.0.6478.63": "126.0.6478.63",
4
5
  "126.0.6478.62": "126.0.6478.62",
@@ -513,48 +513,49 @@ export class Chromedriver extends events.EventEmitter {
513
513
 
514
514
  /**
515
515
  * Sync the WebDriver protocol if current on going protocol is W3C or MJSONWP.
516
- * Does nothing if this.driverVersion was null.
516
+ * Does nothing if this.driverVersion is null.
517
+ *
518
+ * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS]}
517
519
  */
518
520
  syncProtocol() {
519
- if (this.driverVersion === null) {
521
+ if (!this.driverVersion) {
520
522
  // Keep the default protocol if the driverVersion was unsure.
521
- return;
523
+ return this.desiredProtocol;
522
524
  }
523
525
 
526
+ this.desiredProtocol = PROTOCOLS.MJSONWP;
524
527
  const coercedVersion = semver.coerce(this.driverVersion);
525
528
  if (!coercedVersion || coercedVersion.major < MIN_CD_VERSION_WITH_W3C_SUPPORT) {
526
- this.log.debug(
527
- `The WebDriver v. ${this.driverVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
529
+ this.log.info(
530
+ `The ChromeDriver v. ${this.driverVersion} does not fully support ${PROTOCOLS.W3C} protocol. ` +
528
531
  `Defaulting to ${PROTOCOLS.MJSONWP}`,
529
532
  );
530
- return;
533
+ return this.desiredProtocol;
531
534
  }
532
-
533
535
  // Check only chromeOptions for now.
534
536
  const chromeOptions = getCapValue(this.capabilities, 'chromeOptions', {});
535
537
  if (chromeOptions.w3c === false) {
536
538
  this.log.info(
537
- `The WebDriver v. ${this.driverVersion} supports ${PROTOCOLS.W3C} protocol, ` +
539
+ `The ChromeDriver v. ${this.driverVersion} supports ${PROTOCOLS.W3C} protocol, ` +
538
540
  `but ${PROTOCOLS.MJSONWP} one has been explicitly requested`,
539
541
  );
540
- return;
542
+ return this.desiredProtocol;
541
543
  }
544
+
542
545
  this.desiredProtocol = PROTOCOLS.W3C;
543
- // given caps might not be properly prefixed
544
- // so we try to fix them in order to properly init
545
- // the new W3C session
546
- this.capabilities = toW3cCapNames(this.capabilities);
546
+ this.log.info(`Set ChromeDriver communication protocol to ${PROTOCOLS.W3C}`);
547
+ return this.desiredProtocol;
547
548
  }
548
549
 
549
550
  /**
550
551
  * Sync the protocol by reading the given output
551
552
  *
552
- * @param {string} out The output of WebDriver process start
553
+ * @param {string} line The output of ChromeDriver process
554
+ * @returns {typeof PROTOCOLS[keyof typeof PROTOCOLS] | null}
553
555
  */
554
- detectWebDriverProtocol(out) {
556
+ detectWebDriverProtocol(line) {
555
557
  if (this.driverVersion) {
556
- // Nothing is done if the protocol was already detected
557
- return;
558
+ return this.syncProtocol();
558
559
  }
559
560
 
560
561
  // also print chromedriver version to logs
@@ -562,20 +563,21 @@ export class Chromedriver extends events.EventEmitter {
562
563
  // Starting ChromeDriver 2.33.506106 (8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2) on port 9515
563
564
  // Or MSEdge:
564
565
  // Starting Microsoft Edge WebDriver 111.0.1661.41 (57be51b50d1be232a9e8186a10017d9e06b1fd16) on port 9515
565
- const match = WEBDRIVER_VERSION_PATTERN.exec(out);
566
+ const match = WEBDRIVER_VERSION_PATTERN.exec(line);
566
567
  if (match && match.length === 3) {
567
568
  this.log.debug(`${match[1]} version: '${match[2]}'`);
568
569
  this.driverVersion = match[2];
569
570
  try {
570
- this.syncProtocol();
571
+ return this.syncProtocol();
571
572
  } catch (e) {
572
573
  this.driverVersion = null;
573
- this.log.error(`Failed to sync the protocol as '${e}'. Stopping the driver process.`);
574
+ this.log.error(`Stopping the chromedriver process. Cannot determinate the protocol: ${e}`);
574
575
  this.stop();
575
576
  }
576
577
  // Does not print else condition log since the log could be
577
578
  // very noisy when this.verbose option is true.
578
579
  }
580
+ return null;
579
581
  }
580
582
 
581
583
  /**
@@ -615,7 +617,9 @@ export class Chromedriver extends events.EventEmitter {
615
617
  const startDetector = /** @param {string} stdout */ (stdout) => stdout.startsWith('Starting ');
616
618
 
617
619
  let processIsAlive = false;
620
+ /** @type {string|undefined} */
618
621
  let webviewVersion;
622
+ let didDetectProtocol = false;
619
623
  try {
620
624
  const chromedriverPath = await this.initChromedriverPath();
621
625
  await this.killAll();
@@ -625,40 +629,45 @@ export class Chromedriver extends events.EventEmitter {
625
629
  processIsAlive = true;
626
630
 
627
631
  // handle log output
628
- this.proc.on('output', (stdout, stderr) => {
629
- // if the cd output is not printed, find the chrome version and print
630
- // will get a response like
631
- // DevTools response: {
632
- // "Android-Package": "io.appium.sampleapp",
633
- // "Browser": "Chrome/55.0.2883.91",
634
- // "Protocol-Version": "1.2",
635
- // "User-Agent": "...",
636
- // "WebKit-Version": "537.36"
637
- // }
638
- const out = stdout + stderr;
639
- let match = /"Browser": "(.*)"/.exec(out);
640
- if (match) {
641
- webviewVersion = match[1];
642
- this.log.debug(`Webview version: '${webviewVersion}'`);
643
- }
644
-
645
- this.detectWebDriverProtocol(out);
632
+ for (const streamName of ['stderr', 'stdout']) {
633
+ this.proc.on(`line-${streamName}`, (line) => {
634
+ // if the cd output is not printed, find the chrome version and print
635
+ // will get a response like
636
+ // DevTools response: {
637
+ // "Android-Package": "io.appium.sampleapp",
638
+ // "Browser": "Chrome/55.0.2883.91",
639
+ // "Protocol-Version": "1.2",
640
+ // "User-Agent": "...",
641
+ // "WebKit-Version": "537.36"
642
+ // }
643
+ if (!webviewVersion) {
644
+ const match = /"Browser": "([^"]+)"/.exec(line);
645
+ if (match) {
646
+ webviewVersion = match[1];
647
+ this.log.debug(`Webview version: '${webviewVersion}'`);
648
+ }
649
+ }
646
650
 
647
- // give the output if it is requested
648
- if (this.verbose) {
649
- for (let line of (stdout || '').trim().split('\n')) {
650
- if (!line.trim().length) continue; // eslint-disable-line curly
651
- this.log.debug(`[STDOUT] ${line}`);
651
+ if (!didDetectProtocol) {
652
+ const proto = this.detectWebDriverProtocol(line);
653
+ if (proto === PROTOCOLS.W3C) {
654
+ // given caps might not be properly prefixed
655
+ // so we try to fix them in order to properly init
656
+ // the new W3C session
657
+ this.capabilities = toW3cCapNames(this.capabilities);
658
+ }
659
+ didDetectProtocol = true;
652
660
  }
653
- for (let line of (stderr || '').trim().split('\n')) {
654
- if (!line.trim().length) continue; // eslint-disable-line curly
655
- this.log.error(`[STDERR] ${line}`);
661
+
662
+ if (this.verbose) {
663
+ // give the output if it is requested
664
+ this.log.debug(`[${streamName.toUpperCase()}] ${line}`);
656
665
  }
657
- }
658
- });
666
+ });
667
+ }
659
668
 
660
669
  // handle out-of-bound exit by simply emitting a stopped state
661
- this.proc.on('exit', (code, signal) => {
670
+ this.proc.once('exit', (code, signal) => {
662
671
  this.driverVersion = null;
663
672
  processIsAlive = false;
664
673
  if (
@@ -670,6 +679,8 @@ export class Chromedriver extends events.EventEmitter {
670
679
  this.log.error(msg);
671
680
  this.changeState(Chromedriver.STATE_STOPPED);
672
681
  }
682
+ this.proc?.removeAllListeners();
683
+ this.proc = null;
673
684
  });
674
685
  this.log.info(`Spawning chromedriver with: ${this.chromedriver} ${args.join(' ')}`);
675
686
  // start subproc and wait for startDetector
@@ -685,6 +696,8 @@ export class Chromedriver extends events.EventEmitter {
685
696
  if (processIsAlive) {
686
697
  await this.proc?.stop();
687
698
  }
699
+ this.proc?.removeAllListeners();
700
+ this.proc = null;
688
701
 
689
702
  let message = '';
690
703
  // often the user's Chrome version is not supported by the version of Chromedriver
@@ -776,7 +789,11 @@ export class Chromedriver extends events.EventEmitter {
776
789
  }
777
790
  };
778
791
  await runSafeStep(() => this.jwproxy.command('', 'DELETE'));
779
- await runSafeStep(() => this.proc?.stop('SIGTERM', 20000));
792
+ await runSafeStep(() => {
793
+ this.proc?.stop('SIGTERM', 20000);
794
+ this.proc?.removeAllListeners();
795
+ this.proc = null;
796
+ });
780
797
  this.log.prefix = generateLogPrefix(this);
781
798
  if (emitStates) {
782
799
  this.changeState(Chromedriver.STATE_STOPPED);
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "chrome",
7
7
  "android"
8
8
  ],
9
- "version": "5.6.63",
9
+ "version": "5.6.65",
10
10
  "author": "Appium Contributors",
11
11
  "license": "Apache-2.0",
12
12
  "repository": {
@@ -54,7 +54,7 @@
54
54
  "lodash": "^4.17.4",
55
55
  "semver": "^7.0.0",
56
56
  "source-map-support": "^0.x",
57
- "teen_process": "^2.0.0",
57
+ "teen_process": "^2.2.0",
58
58
  "xpath": "^0.x"
59
59
  },
60
60
  "scripts": {