question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Upgrading to replacement

See original GitHub issue

Replacing instead of fixing

Back in August, I wanted to address several issues with this project: not enough testing, unusual side effects, GitHub authtoken limitations (with GeckoDriver), etc. Some of the highlights of these changes include:

  • unit, integration, proxy, and e2e tests
  • removed side effects from code
  • added support for GitHub authtokens
  • CI runs every night so failures on driver - browser mismatch will be found sooner
  • you can use webdriver-manager as a node module as well as a CLI.

Breaking changes

This is not feature parity yet. We will not have mobile support. Instead of hacking something together quickly, I want to be more thoughtful about how this is done.

The driving force to make this change now is to not block Protractor selenium4 milestone progress (see https://github.com/angular/protractor/milestone/45). Currently directConnect is not working due to version incompatibility between ChromeDriver and Chrome. See the following snippet:

[00:55:33] I/direct - Using ChromeDriver directly...
[00:55:33] E/runner - Unable to start a WebDriver session.
[00:55:33] E/launcher - Error: SessionNotCreatedError: session not created: Chrome version must be between 70 and 73
  (Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.4.0-139-generic x86_64)
    at Object.checkLegacyResponse (/home/circleci/project/node_modules/selenium-webdriver/lib/error.js:546:15)
    at parseHttpResponse (/home/circleci/project/node_modules/selenium-webdriver/lib/http.js:509:13)
    at doSend.then.response (/home/circleci/project/node_modules/selenium-webdriver/lib/http.js:441:30)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
[00:55:33] E/launcher - Process exited with error code 100

>>> fail: Error: expecting exit code: 0, actual: 100

Steps to replacing this node module

Here’s the logical order to replace this node module in place.

  • (12/11/2018) Fork the master branch to a separate branch called “legacy”. This will help maintain the old code base and commit history.
  • (12/11/2018) Add new code base to the “replacement” branch.
  • (12/11/2018) Use webdriver-manager-replacement (workaround for current publish permissions)
  • (12/14/2018) Create a 13.0.0-beta release, making sure that this is not marked as the “latest” in npmjs.
  • (12/21/2018) Add missing documentation and design documentation / decisions in markdown.
  • (01/03/2019) After Protractor’s official release, move the replacement branch to be the new master branch.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
cnishinacommented, Dec 12, 2018

Version 1.1.1 released for webdriver-manager-replacement. https://www.npmjs.com/package/webdriver-manager-replacement

0reactions
cnishinacommented, Apr 10, 2019

Meh. Closing this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Upgrade versus replacement: a practical guide to decision ...
This framework for decision-making includes identifying objectives, indicators of success, alternative strategies, and an operational plan. A checklist-type ...
Read more >
4 things to consider when deciding on upgrading or replacing ...
If you're still working on equipment that's 10+ years, you're probably due for replacement. You've definitely gotten your money's worth and you' ...
Read more >
19.4 Upgrading Hardware or Replacing a Server
This section provides information about transferring or safeguarding eDirectory on a specific server when you upgrade or replace hardware.
Read more >
Upgrade or replace: Pragmatic modernisation strategies
In-place upgrades take more diligence, preparation and resolve from development teams, but offer a methodical upgrade path. These projects can ...
Read more >
Replacing vs Upgrading a Previous Network Installation
A new computer network isn't a light project and the choice between upgrading what you already have and replacing everything can be difficult....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found