i’ve spent quite a bit of time in cypres this year. i’ve also invested tons of time into selenium and a lesser amount into puppeteer.
cypress is great. the video recordings are very useful. the paradigm of command driven actions is nice to see step by step.
but the more time you invest you find the rough edges: xvfb and parallelization, cypress runtime crashes (vastly improved since 5.x), a sometimes top opinionated stdlib with no alternatives (cy.get errors are always fatal), and a somewhat high cost pricing model.
i understand they need to run a business but i feel like the project is one custom scheduler away from losing its value prop. the cypress website itself is actually the worst part of the entire experience
you can’t do everything in cypress so we have a mix of it and puppeteer
cypress for most of the complex tests. puppeteer for more basic things you don’t need to debug / “should always work”. because the debugging experience is much poorer. but the tests are “free” to execute. i’ve only wasted time in selenium and don’t recommend it for any purpose
I've had a lot of success with selenium-webdriver and Jest as the test runner. Use it with Async/Await, write some custom framework around it for stuff like before/after image capture and upload to s3(or wherever), and Bob's your uncle. ffmpeg can also be used to record the xvfb apparently so I may have a play with adding video capture soon. Debugging in VsCode is nice.
It's a shame 4.0 has been in beta forever and people keep taking from the project and not giving back, and that async stacks got broke(but I created a proxy that creates a nested stack and preserves the original test code call site), but it works very well in general.
cypress is great. the video recordings are very useful. the paradigm of command driven actions is nice to see step by step.
but the more time you invest you find the rough edges: xvfb and parallelization, cypress runtime crashes (vastly improved since 5.x), a sometimes top opinionated stdlib with no alternatives (cy.get errors are always fatal), and a somewhat high cost pricing model.
i understand they need to run a business but i feel like the project is one custom scheduler away from losing its value prop. the cypress website itself is actually the worst part of the entire experience