3 ms·
Cypress is very bad. What frustrated me most of all is that you can't use node.js, only 'browser javascript'. Also, absence of promises makes Cypress way behind
by byteofmydream 6y ago
Cypress is very bad. What frustrated me most of all is that you can't use node.js, only 'browser javascript'. Also, absence of promises makes Cypress way behind its alternatives. Don't be fool, use TypeScript + Cucumber + puppeteer/ axios, or Java + Selenium/RestAssured, or any other appropriate tool with open source model and adequate code base, maintained by community
- inglor 6y agoI think you can use Node.js (through tasks) in cypress. Agree with everything else though + the one time I opened an issue in their tracker (I asked a question about a crash in order to contribute!) they totally ignored me and then they opened a bunch of issues in projects I maintain and they use (not paying me, which is fair). Guess how much love I gave their issues?
- Supermancho 6y agoI dont know how someone comes to the cobclusion that cypress is behind Cucumber (3x the work) or Java Selenijm (less control and capabilitu), both of which domt use Node either (wtf does that matter in context?). That makes no sense. It's trivial to set these thongs up and test them so I have to wonder where this negative astroturfing is coming from. Obviously we prefer Cypress and it has sufficed or exceeded the capability of other frameworks, in practice, for our SPAs and page-model sites.
- azemetre 6y agoCypress uses bluebird for their promise implementation which are A+ spec. [1] Also (nearly) every command in Cypress is a promise which allows you to make them then-able. [2] I don't agree with using Cucumber for anything. The way most teams implement Cucumber makes it such a pain to write a test. I do like the suggestion of puppeteer tho. If you haven't heard of playwright [3] I'd look into that. From the same creator as puppeteer but was hired to work on playwright full time. They have the advantage of being to test on gecko, chromium, and webkit browsers which is really nice because IME anything Apple becomes such a pain to setup to properly test. [1] https://docs.cypress.io/api/utilities/promise.html#Syntax https://docs.cypress.io/api/utilities/promise.html#Syntax [2] https://docs.cypress.io/api/commands/then.html#Yields https://docs.cypress.io/api/commands/then.html#Yields [3] https://github.com/microsoft/playwright https://github.com/microsoft/playwright
- inglor 6y agoIt would be really nice if people built more on native promises and not bluebird. There was a time when bluebird was really great and useful but I think native promises are the better option now. (Source: I maintain bluebird and worked a bit with the V8 team on promises in Chrome as part of being a Node maintainer)
- byteofmydream 6y agojQuery promises are good as well, but I'm writing from 2020 :)
- zimmund 6y agoOP shared an opinion backing it with links to more information. What are your disagreements? Could you give a fundamented counter-opinion besides your snarky response?
- byteofmydream 6y agoSorry but I can't provide more objective reasons why not use Cypress except that cypress is more about aggressive marketing and promotion, but not a useful tool for testing. I don't want to write node.js inside separate files, I want to use it without limitations, for manipulating with DOM and http. I want to use normal async/await, as all adequate people do nowadays while using ES. Even when I wanted to make multipart-form-data request I found that it's not possible using Cypress. But it's quite a trivial common thing, I didn't want something unique, or am I?