Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(webdriverio): manage browser drivers #10767

Merged
merged 28 commits into from
Aug 1, 2023
Merged

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