Skip to content

(webdriverio): manage browser drivers#10767

Merged
christian-bromann merged 28 commits intomainfrom
cb-driver-management
Aug 1, 2023
Merged

(webdriverio): manage browser drivers#10767
christian-bromann merged 28 commits intomainfrom
cb-driver-management

Conversation

@christian-bromann
Copy link
Member

@christian-bromann christian-bromann commented Jul 19, 2023

Proposed changes

This patch will change the current behavior that would default the execution to use devtools as automation engine and instead will setup and run a browser driver. Ultimately we want to deprecate devtools as WebDriver will provide everything needed. The maintenance of the package is not manageable and given all the new features in Bidi there doesn't seem much value to have WebdriverIO users run tests through Puppeteer.

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Checklist

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • I have added proper type definitions for new commands (if appropriate)

Further comments

Missing items:

  • write unit tests for new code
  • add e2e tests to ensure all browser start correctly in CI
  • add docs on Capabilities (especially document new driver caps)
  • Remove driver services from cli
  • verify that people that still use driver services can continue to use it
  • write blog post

Reviewers: @webdriverio/project-committers

Copy link
Member

@erwinheitzman erwinheitzman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some feedback, love seeing this 👍

@nextlevelbeard
Copy link
Member

@christian-bromann Since you are working on this.
Having a hard time trying to set time zones.

Using selenium-standalone, browser.setTimeZone does not seem to be working for Chrome at least.

From what I gather there is no API to do this. Maybe on CDP.
One way to do it is to set the TZ variable when launching the browser.
Having the variable present when running the test-runner is not enough.
Can you provide a way to inject environment variables when launching the browsers?

AFAIK there is no way to do that at the moment.
For component testing there is (through Vite) but not for E2E tests.

@christian-bromann
Copy link
Member Author

Can you provide a way to inject environment variables when launching the browsers?

Can you explain what you mean by that. Please create a new issue for this because it is not necessarily within the scope of this PR.

@christian-bromann
Copy link
Member Author

🎉

@christian-bromann christian-bromann added the PR: New Feature 🚀 PRs that contain new features label Aug 1, 2023
@christian-bromann christian-bromann marked this pull request as ready for review August 1, 2023 06:10
@christian-bromann christian-bromann merged commit c6d81b5 into main Aug 1, 2023
@christian-bromann christian-bromann deleted the cb-driver-management branch August 1, 2023 06:10
@owens-ben
Copy link

hi, when does this get released?

@christian-bromann
Copy link
Member Author

It is, see release notes.

@owens-ben
Copy link

ah thanks, sorry i was only looking at the 18.4.2 notes

@PierreFritsch
Copy link

v8.14.0 (2023-08-01)

🚀 New Feature

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: New Feature 🚀 PRs that contain new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants