So, we use the Java test environment - Selenium, Serenity, JBehave, and then Javascript WebdriverIO, Mocha and Yodda.
I think the Java approach is easier to understand and debug. Itβs easier to understand, because website testing is basically consistent, you move from one page to another, click a button and fill out the form. This will save you from any asynchronous access problems that you use using an alternative to JS. Debugging is very nice because you have classes and a fixed structure to everything.
The second project uses NodeJS in the backend, so integrating the testing framework was much easier. The testing framework has become part of the deployment / development process.
Marek source share