To install Cypress and set up your first test
To install Cypress and set up your first test, follow these steps:
Installation
-
Node.js Setup: Ensure you have Node.js installed on your machine. You can download it from nodejs.org and follow the installation instructions.
-
Cypress Installation: Open your terminal and navigate to your project directory.
npm init -y # Initialize npm (if you haven't already) npm install cypress --save-dev # Install Cypress as a dev dependencyThis command installs Cypress and adds it to your
package.jsonfile. -
Opening Cypress: Once installed, you can open Cypress by running:
npx cypress openThis command launches the Cypress Test Runner. Alternatively, you can also use
yarnif you prefer:yarn add cypress --dev yarn cypress open
Setting Up Your First Test
-
Create a Test File: By default, Cypress creates a
cypress/integrationdirectory where you can place your test files. Create your first test file here, for example:cypress/integration/my_first_test.spec.js -
Write Your Test: Open
my_first_test.spec.jsin your code editor and write your first test using Cypress’s API. Here’s a simple example:describe('My First Test', () => { it('Visits the Cypress example website', () => { cy.visit('https://example.cypress.io'); // Assert the page title cy.title().should('include', 'Kitchen Sink'); }); });This test visits the Cypress example website and asserts that the page title includes the text "Kitchen Sink".
-
Run Your Test: Back in your terminal, with Cypress Test Runner open (
npx cypress openoryarn cypress open), you will see your test file listed. Click on the test file (my_first_test.spec.js) to run it. -
View Test Results: Cypress will open a browser window and execute your test. You can see the test execution in real-time in the Cypress Test Runner interface. If successful, you’ll see green checkmarks indicating passing tests.
Additional Configuration (Optional)
-
Custom Commands and Utilities: Cypress allows you to define custom commands and utilities to simplify your tests. These can be defined in the
cypress/support/commands.jsfile. -
Configuration: Customize Cypress behavior by modifying
cypress.jsonor adding environment-specific configuration files (cypress.env.json).