webdriverio-community / wdio-electron-service

WebdriverIO service for testing Electron applications
https://webdriver.io
MIT License
34 stars 15 forks source link

webdriverio v > 8.13 breaks wdio-electron-service #167

Closed ForesightImaging closed 1 year ago

ForesightImaging commented 1 year ago

I can run with webdriverio v8.13, but in later versions the chrome driver isn't resolved correctly.

I noticed that as of 8.14 wdio-chromdriver-service is deprecated and no longer maintained. There's also a blog post about how 8.14 handles chrome driver resolution for you.

Passing an electronVersion is ignored as is passing a chromedriverCustomPath. The runner located the electron executable and refuses to run because the driver it has selected (for the installed chrome) isn't a match.

I can run with 8.13, but after, including 8.15 seems DOA due to upstream changes.

christian-bromann commented 1 year ago

Thanks for reporting!

We greatly appreciate any contributions that help resolve the bug. While we understand that active contributors have their own priorities, we kindly request your assistance if you rely on this bug being fixed. We encourage you to take a look at our contribution guidelines or join our friendly Discord development server, where you can ask any questions you may have. Thank you for your support, and cheers!

goosewobbler commented 1 year ago

Progress for this can be seen in #168. In the meantime, the workaround is simply to use WDIO v8.13.x

ForesightImaging commented 1 year ago

we can't use 8.13 as it has problems with custom reporters.

christian-bromann commented 1 year ago

it has problems with custom reporters.

What problems?

ForesightImaging commented 1 year ago

the problems with mixed module types that you recently fixed. That's not in 8.13. So I can't fall back to 8.13.

ForesightImaging commented 1 year ago

FWIW, my recent journey started with a webdriver update and has led me through a lot of ESM and CJS module trouble. Some environments, like electron are not ready for ESM just yet. Every nook and cranny has its own trouble. For example as I got out jest test, webdriver tests, webdriver config, electron main process, renderer process and webpack config aligned on a single .tsconfig and module format I have found that every tool has quirks and expectations compatibility tools like esm even lack support for optional chaining. So supporting CJS is going to help others with the transition.

christian-bromann commented 1 year ago

So supporting CJS is going to help others with the transition.

WebdriverIO supports CJS, e.g. the ESLint project uses WebdriverIO in CJS mode. We always welcome PRs that improve CJS compatibility. However this seems like off topic. You can follow the progress on this issue on https://github.com/webdriverio-community/wdio-electron-service/pull/168.

goosewobbler commented 1 year ago

Fixed with v5.0.0