Cypress (or Cypress.io, also the name of the company in Atlanta that develops the tool) is a testing tool with the capability to run tests across multiple browsers, that aims to make setting up, writing, running and debugging tests easy.
N/A
Selenium
Score 8.1 out of 10
N/A
Selenium is open source software for browser automation, primarily used for functional, load, or performance testing of applications.
Everything web-based should be testable. Even our highly dynamic content-providing web application works well. Hopefully, it will get a bigger user base in the future so that one can find even more support at StackOverflow or similar forums.
When you have to test the UI and how it behaves when certain actions are performed, you need something that can automate the browsers. This is where Selenium comes to the rescue. If you have to test APIs and not the frontend (UI), I would recommend going with other libraries that support HTTP Requests. Selenium is good only when you have no choice but to run the steps on a browser.
There are a lot of plugins but several of them have many errors. So Cypress.io should work integrating more features so that people should not rely on these plugins. For example, many people use cypress-cucumber-preprocessor and Cypress.io can start by integrating Gherkin support by default so that reliance in plugins are decreased.
Selenium is pretty user-friendly but sometimes tests tend to flake out. I'd say roughly one out of twenty tests yields a false positive.
Selenium software cannot read images. This is a minor negative because a free plug-in is available from alternate sources.
Slowness may be a minor factor with Selenium, though this is an issue with basically any testing software since waiting on a site to execute JavaScript requires the browser to wait for a particular action.
We love this product mainly because of its high customization abilities and the ease of use. Moreover, its free and can be learned easily through online communities and videos. The tests are more consistent and reliable as compared to Manual tests. It has enabled us to test a large number of features all in one go, which would have impossible through manual tests. The reports generated at the end of the tests are really helpful for the QA and the development teams to get a fair view of the application.
As I mentioned earlier, the reason I use Selenium is because there is a fairly widespread community of users, and user support services are at a good level. because the application is open source, it works on many platforms (Windows, Linux, IOS) without any problems. In addition, it gives us a lot of options for writing functional tests. For errors that we receive through the application, we can easily find the reasons for errors in the forums.
Selenium does not have technical support available easily. You have to go through forums to get the information you need. However, there are excellent forums out there that make it easy to troubleshoot. The open-source flexibility makes it difficult to have dedicated support.
We did everything we needed to use it. Now we can execute our tests on different operational systems and browsers running few tests simultaneously. We also implemented Appium framework to execute our tests on mobile devices, such as iPhones, iPads, Android phones and tablets. We use SauceLabs for our test execution and Jenkins for continuous integration.
Execution speed and interactive debugging tool is very easy. you can make changes in the fly and test will run automatically, thus saving more time debugging your code. Can easily be intergrated to to CI/CD pipeline
At the time of adoption, there were not many other alternatives that were even close to being competitive when it comes to browser testing. As far as I know now to this day, there is still little competition to Selenium for what it does. Any other browser-based testing still utilises Selenium to interact with the browser.