What do people recommend these days for automated browser testing? So far, we’ve been using Cypress with cypress-clojurescript-preprocessor, but that combo is stuck at an old version, doesn’t sound like it’ll get big updates, and I’d rather have a solution that allows us to create tests repl-driven.
https://github.com/clj-commons/etaoin I like etaoin quite a bit, it's very simple and very data-driven - I think you'll find it pretty REPL friendly.
for a while we had repl-driven playwright tests in clojurescript via nbb. It was pretty cool but we eventually opted to go for pure js playwright tests because the tooling is much better. No repl but I haven't really missed it much for our use-case. clerk is an open source example of nbb + cljs playwright tests (https://github.com/nextjournal/clerk/blob/main/ui_tests/playwright_tests.cljs). It isn't a very complex test suite (just loads a page to see if there is an error) but if you go this route I can dig up more examples from a non-open project if that is helpful I haven't used any other browser test setups but using playwright has had a substantial positive effect on the stability of our code-base
We also use js for cypress. It's ok – it's more of a dsl than code anyway.
I don't love cypress; it's too much magic and issues can be hard to debug. If I were to start over, I'd pick playwright
By the way, make sure you don't rely too much on browser automation for testing. Other types of tests are faster and cheaper and don't rely on the idiosyncrasies of Chrome
Thank you for your recommendations! I’m also curious about https://taiko.dev. Anybody looked into that yet? Maybe it could be paired with https://github.com/squint-cljs/squint.