How it works
In Cypress, first our test scripts or code is wrapped as a json file and then sent to the browser drivers. This is then directly communicates and executes test on the browser as Cypress manipulates the DOM.
All of its advantages over other testing framework is due to this Architecture. This pays way to do unit testing, integration testing and end to end testing as it fits every layer of our software testing.
The below is the official description from Cypress.io,
Behind Cypress is a Node server process. Cypress and the Node process constantly communicate, synchronize, and perform tasks on behalf of each other. Having access to both parts (front and back) gives us the ability to respond to your application’s events in real time, while at the same time work outside of the browser for tasks that require a higher privilege.
Cypress ultimately controls the entire automation process from top to bottom, which puts it in the unique position of being able to understand everything happening in and outside of the browser. This means Cypress is capable of delivering more consistent results than any other testing tool.
Cypress is installed locally on your machine, it can additionally tap into the operating system for automation tasks. This makes performing tasks such as taking screenshots, recording videos, general file system operations and network operations possible.
Source : Click to Open
Test Runner support
Cypress supports following browsers,
Google Chrome
Electron
Firefox and IE (Under development)