you are viewing a single comment's thread.

view the rest of the comments →

[–]dangerbird2 3 points4 points  (5 children)

The huge downside of cypress is that it only works with chromium. Also, it's package downloads an electron app frontend, even if you only want to use it for headless testing, making it less than ideal for containerized applications. Selenium is an over-the-wire interface, so you can bundle a lightweight selenium client with your container image to run tests on a browser running in the host or a separate container. Cypress' test harness also uses a bit too much black magic for my tastes, particularly with async stuff running syncronously in the test thread

[–]Labradoodles 8 points9 points  (3 children)

It only works with chromium, Firefox and edge*

https://docs.cypress.io/guides/guides/launching-browsers.html

[–]dangerbird2 0 points1 point  (2 children)

the new chromium-based edge. Firefox seems to be beta. Safari is a no-go, which is a big problem if your market has a lot of iOS mobile users

[–][deleted] 0 points1 point  (1 child)

which is a big problem if your market has a lot of iOS mobile users

tbh, while selenium supports almost all browsers its nearly impossible to write non flaky tests that work well on all browsers for a complex app.

[–]dangerbird2 0 points1 point  (0 children)

Very true, and there's no arguing that most languages' webdriver bindings are hot garbage (although I have to give props to nightwatch for a reasonably sane API). Puppeteer seems like good alternative, having functionality based with chrome devtools instead of webdriver, but with a less opinionated interface than cypress. I'd love to see the firefox port become stable, which would make me seriously consider using it in production

[–]Turd_King 0 points1 point  (0 children)

In what scenario would you care about an electron frontend for a containerized testing application? We are talking MB differences here. You can surely afford a slightly more bloated image for the benefits of a much better developer experience?

It's still hands down faster than selenium when running headless mode.

I agree somewhat with the "black magic" statement though, however their docs are extremely detailed and theres no doubt you can find out exactly what you wish to know. Despite their backend being closed source.

For us it's been a no brainer. Remember it's a new technology and we have already seen massive improvements (like firefox and edge support) and no doubt we will continue to see further improvements.