Cypress Tool Review


Nowadays, we come across many articles related to Cypress vs. Selenium. If you don't choose the automation testing tool based on you needs, then you will regret forever. Let's hit the bulls eye - Cypress is not meant to be used by software testers. It is meant for Software developers to write automated Integration tests and Unit tests against a local development server.

If you are a tester and want to use Cypress for automated smoke testing, you can run your scripts on Chrome browser, but not on Firefox, Safari, and Internet Explorer browsers. Reading the main page of the tool and writing the tool review will not suffice the needs of your audience. Product based companies are referring the tool review blog articles before choosing an automation testing tool. A thorough and unbiased tool review will help them to get quick information about a tool.

Cypress Tool Review

IntroductionCypress is a developer-focused tool. If you are a tester, don't attempt to automate your regression test suite using Cypress.io. In other words, Cypress is a suitable automation testing tool for local development builds. Whatever testing activities you can perform on development environments, you can automate them using Cypress.

InstallationYou can install Cypress using npm command or it can be downloaded directly as a Zip file. Note-If you have installed using npm, then you can update newer versions easily.

Scripting LanguageCypress' scripting language is JavaScript and it is bundled with Mocha and Chai libraries. You can describe your tests and write assertion steps with them. You can also use Intellij IDE to write test scripts. Note: In order to enable ECMA Script 6 support in Intellij, go to Settings->Languages & Frameworks->JavaScript and Select "JavaScript Language Version" as "ECMAScript 6".

describe('Codoid Review', function(){
    it('Test 1',function(){
        expect(true).to.equal(true)
    })
})

Cypress Selectors Cypress uses JQuery to find elements in DOM. Why JQuery? Simple. Cypress is for developers. Most of the modern day web developers are familiar with JQuery. It would be easy for them to write locators using JQuery syntax. By default, Cypress polls for 4 seconds to find an element. You can also change the timeout globally or on a per-step basis.

cy.get('.my-slow-selector', { timeout: 10000 })

Project Structure Once a Cypress project is created, it will consist fours folders - 'fixtures', 'integration', 'plugins', and 'support'.

Test data can be stored in 'fixtures' folder.

All your test files (.js, jsx, .coffe, and .cjsx) can be written inside the 'integration' folder.

Visual Testing You can also write visual regression tests using Cypress Snapshots plugin. JQuery Selector finds element, Cypress performs action on the selected element, and the expected result will be asserted. However, if you want to validate whether the page or a web element is displayed as expected to the end user with all the images and applied CSS Styles, then you need to do visual testing.

Browser Support Cypress supports Electron, Chromium and Chrome. Firefox, Safari, and Internet Explorer browsers are not supported. As Cypress tool is for Integration and Unit tests, running on one browser should be sufficient.

In Conclusion

As a test automation company, we use multiple automation testing tools for various projects. We have a conviction that reviewing new tools and subsequently sharing the outcome by means of software testing blogs will immensely help automation test communities to select appropriate test automation tool based on their requirements and tool selection criteria. Contact us for your automation testing needs.


One thought on “Cypress Tool Review

  1. “If you are a tester, don’t attempt to automate your regression test suite using Cypress.io. ”

    I am a testers looking to automate our regression test suite. I wrote some tests in cypress.io and some in selenium as I am putting together a comparison. I found cypress.io easier to setup and create tests. I’d like to understand why you say it should not be used for regression testing?

Leave a Reply

Your email address will not be published. Required fields are marked *