Issues with WebdriverIO's `devtools` protocol
Closed this issue · 4 comments
Updating to wdi5 v2 requires users to switch to the devtools
automation protocol. This protocol has slight differences to WebdriverIO's default Webdriver protocol (compare webdriverio/webdriverio#11984), which is why the team recommends against using it: webdriverio/webdriverio#11984 (comment)
In fact, they want to even remove support for devtools
with the next major version of WebdriverIO, v9: webdriverio/webdriverio#11860
An additional reason for considering to not use the devtools
protocol is integration with remote test runners. Both SauceLabs and other hosted offers of Selenium grid are not supported with devtools
, and even integration with non-Chromium browsers seems fragile at best, making wdi5 unusable for cross-browser testing: https://webdriver.io/docs/automationProtocols/#disadvantages-1
I don't know the reasons why the devtools
protocol is now required by wdi5, but I'd suggest removing that requirement again and falling back to the WebDriver protocol unless end users explicitly choose to.
Hi @LukasHeimann,
when using wdi5 v2 we don't force users to switch to devtools
. You can use both and the Webdriver protocol is still the default. Since wdio v8 we just don't need to take care of the different drivers anymore as wdio is now handling that for us.
Do you have issues running wdi5 v2 with the WebDriver protocol?
Hi @Siolto,
hm is the migration guide faulty in this case? https://ui5-community.github.io/wdi5/#/migration?id=usage-of-devtools-automation-protocol
Or did I perhaps just misunderstand it?
Now requires using the devtools package (which is now a dependency of wdi5) and explicit configuration in the *.conf.(j|t)s-file
I thought this meant that we'd have to use devtools
, which is why this now is a dependency explicitly. But I guess this could also mean that (only) if you want to use the devtools protocol you'll have to do that
you're right, we could clarify that a little bit more, that you have to do that only when you want to use the devtools protocol
That makes sense :)
Especially given that it also explicitly states that it bundles the necessary dependency, which I guess you'd normally have to install yourself.
Switching to webdriver proxies all browser logs to the wdio runner for some reason, even though I have disabled all logging... I'll try to reproduce in a minimal example though Edit: that might have just been vscode messing with me.