webdriverio: [๐Ÿ’ฅ Breaking] Remove the `devtools` package as it requires a lot of maintenance and has no real value anymore

The devtools package has been used to automate WebdriverIO through Puppeteer. Back in the days this was useful because Puppeteer helped with setting up Chrome. Today this is done by WebdriverIO and there is no real value anymore to run automation through CDP rather than WebDriver. In fact there are a lot of bugs where the expected automated behavior was not met due to CDP specifics that we were never able to fix e.g. switching windows and run commands in them.

Moving on it makes most sense to remove this capability and force users to use WebDriver. We will use the devtools package for a different project.

This is a v9 task and pull requests should be raised against the v9 branch. Join the ๐Ÿ™-contribute channel on Discord if you are interested to join us in this effort.

About this issue

  • Original URL
  • State: closed
  • Created 7 months ago
  • Comments: 19 (12 by maintainers)

Commits related to this issue

Most upvoted comments

but maybe here is not a good place to ask.

Join our Discord server and ask away ๐Ÿ˜‰

I forgot an important feature of network intercept is Websocket, does it support?

This currently does not seem to be supported by the protocol but is something we can implement in WebdriverIO via script injection. ~I will create a feature request for this.~ An issue for this was created some time ago: #5911

theyโ€™re not compatible for all browsers

The idea of WebdriverIO is that all commands work the same way in all browser. Unfortunately as browser adopt the new Bidi standard, we have different progress on certain APIs which will hopefully resolve itself some day. In the past we enabled these features by using Chrome DevTools (which only works for Chrome and Edge in most cases) but with Bidi we move away from that. That said, network interception will work the same way across browser once these features land. I am currently running interception tests successfully in Canary and I expect this to work in FF Nightly soon as well. I canโ€™t speak about Safari, except that they plan to implement it.

And BTW, want to know when v9 will be released.

You can already use v9 today using the @next tag. As we arenโ€™t as careful shipping breaking changes I recommend maybe pin the version to ensure your tests are stable.

Please make two separate PRs:

  • one that adds deprecation notices for devtools -> PR against main branch
  • one that removes the devtools package -> PR against v9 branch

@gromanas thanks for picking this up. Can you do me a favor and also raise a PR against main to add a deprecation notice to the devtools package and to its driver, so people will know, it will be removed. Thank you!

This (hopefully) will be my first contribution to wdio. If it is ok I want to give a try on this.