Upgrading to replacement
See original GitHub issueReplacing 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:
- Created 5 years ago
- Comments:5 (5 by maintainers)
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Version 1.1.1 released for webdriver-manager-replacement. https://www.npmjs.com/package/webdriver-manager-replacement
Meh. Closing this.