Cypress

Cypress is an end-to-end testing framework for web test automation. It enables front-end developers and test automation engineers to write automated web tests in JavaScript, the main language used for developing websites.

Installation 

 

on mac : 

brew install node

npm install cypress --save-dev

to open cypress: 

npx cypress open

 

 

Default folders

Test Framework

Supported Dev Languages

Supported Browsers

Supported Test Frameworks

Setup and Execution

Integrations

Breadth of Testing Options

Maturity, Documentation, Support

Selenium WebDriver

Java, C#, Java Script, Python, Ruby, Objective-C

Chrome, Safari, Firefox, Edge, IE

Mocha JS, Jest, Other super set on top of Selenium (Protractor, WebDriverIO, etc.

Download relevant driver, set up a grid, network and location impacts execution speed

Plenty of integrations (CI, CD, reporting, visual testing, cloud vendors)

End-to-end, security, unit

Robust community, multiple bindings, best practices

Cypress.io

JavaScript, Typescript

Chrome, Electron, Edge, Firefox

Mocha JS

Comes with bundled Chrome browser, no complex environment setup

Limited integrations, but many plugins

End-to-end

Good documentation and code sample, growing community

 

Locate elements

  • tags – Locate WebElements using HTML tags like <button>, <form>, <a>, etc.
  • ids – Locate WebElements using the ID of the elements
  • name – Locate WebElements using name attribute that is set for elements (especially form input elements)
  • class – Locate WebElements by class value
  • links – Locate WebElements by links text property
  • attributes – Locate WebElements by one or multiple sets of attributes

Intercept api calls

 

Text

Visual Regression

Made with Slides.com