Bird
Raised Fist0
Cypresstesting~15 mins

Cypress installation (npm install cypress) - Build an Automation Script

Choose your learning style10 modes available
Verify Cypress installation via npm
Preconditions (2)
Step 1: Open terminal or command prompt
Step 2: Navigate to the project folder or create a new folder
Step 3: Run the command 'npm init -y' to create a package.json file
Step 4: Run the command 'npm install cypress' to install Cypress
Step 5: Wait for the installation to complete
Step 6: Verify that the 'node_modules' folder contains 'cypress'
Step 7: Verify that 'cypress' is listed under dependencies in package.json
✅ Expected Result: Cypress is installed successfully without errors, 'node_modules/cypress' folder exists, and package.json lists Cypress as a dependency
Automation Requirements - Node.js with Mocha and Chai
Assertions Needed:
Verify 'cypress' folder exists inside 'node_modules'
Verify 'cypress' is listed in package.json dependencies
Best Practices:
Use Node.js fs module to check folder existence
Use JSON parsing to read package.json
Use assertions from Chai for clear pass/fail
Keep test isolated and clean up if needed
Automated Solution
Cypress
import { expect } from 'chai';
import fs from 'fs';
import path from 'path';

describe('Cypress installation verification', () => {
  const projectDir = process.cwd();
  const nodeModulesCypressPath = path.join(projectDir, 'node_modules', 'cypress');
  const packageJsonPath = path.join(projectDir, 'package.json');

  it('should have cypress folder inside node_modules', () => {
    const exists = fs.existsSync(nodeModulesCypressPath);
    expect(exists).to.be.true;
  });

  it('should list cypress as a dependency in package.json', () => {
    const packageJsonRaw = fs.readFileSync(packageJsonPath, 'utf-8');
    const packageJson = JSON.parse(packageJsonRaw);
    const dependencies = packageJson.dependencies || {};
    expect(dependencies).to.have.property('cypress');
  });
});

This test suite checks if Cypress is installed correctly after running npm install cypress.

First, it uses Node.js fs.existsSync to check if the node_modules/cypress folder exists, which means Cypress files are present.

Second, it reads package.json and parses it as JSON to verify that Cypress is listed under dependencies. This confirms npm recorded Cypress as a project dependency.

We use chai assertions for clear pass/fail results. The tests run in the current working directory, assuming the commands were run there.

Common Mistakes - 3 Pitfalls
Checking only package.json without verifying node_modules folder
Using asynchronous fs methods without handling promises
Hardcoding absolute paths instead of using path.join and process.cwd()
Bonus Challenge

Now add data-driven testing to verify installation in three different project folders

Show Hint

Practice

(1/5)
1. What is the correct command to install Cypress as a development dependency using npm?
easy
A. npm install cypress --global
B. npm install cypress --save-dev
C. npm install cypress --save
D. npm install cypress --production

Solution

  1. Step 1: Understand npm install flags

    The --save-dev flag installs the package as a development dependency, which is correct for Cypress.
  2. Step 2: Compare options

    Options A, C, and D use incorrect flags for Cypress installation as a dev dependency.
  3. Final Answer:

    npm install cypress --save-dev -> Option B
  4. Quick Check:

    Install Cypress as dev dependency = npm install cypress --save-dev [OK]
Hint: Use --save-dev to install testing tools like Cypress [OK]
Common Mistakes:
  • Using --global installs globally, not per project
  • Using --save installs as production dependency
  • Omitting --save-dev installs but not saved in devDependencies
2. Which folder should you be in before running npm install cypress --save-dev?
easy
A. The folder containing your package.json
B. The global npm modules folder
C. Any folder on your computer
D. The Cypress installation folder

Solution

  1. Step 1: Identify project root folder

    npm installs packages into the current project, so you must be in the folder with package.json.
  2. Step 2: Eliminate other options

    Installing anywhere else won't link Cypress to your project correctly.
  3. Final Answer:

    The folder containing your package.json -> Option A
  4. Quick Check:

    Install inside project folder with package.json [OK]
Hint: Always run npm install where package.json lives [OK]
Common Mistakes:
  • Running npm install in random folders
  • Trying to install inside global npm folder
  • Assuming Cypress folder exists before install
3. After running npm install cypress --save-dev, what command do you use to open the Cypress Test Runner?
medium
A. npx cypress open
B. cypress start
C. npm run cypress
D. npm start cypress

Solution

  1. Step 1: Recall Cypress start command

    The correct command to open Cypress Test Runner is npx cypress open.
  2. Step 2: Check other options

    Options A, B, and C are not valid commands to open Cypress.
  3. Final Answer:

    npx cypress open -> Option A
  4. Quick Check:

    Open Cypress with npx cypress open [OK]
Hint: Use npx to run Cypress without global install [OK]
Common Mistakes:
  • Trying npm start or npm run without scripts
  • Typing cypress start instead of npx cypress open
  • Not using npx after local install
4. You ran npm install cypress --save-dev but get an error saying command not found: cypress when typing cypress open. What is the likely fix?
medium
A. Restart your computer
B. Reinstall Cypress globally with npm install -g cypress
C. Delete node_modules and reinstall
D. Run npx cypress open instead

Solution

  1. Step 1: Understand local vs global commands

    Cypress installed locally is not available as a global command, so cypress open fails.
  2. Step 2: Use npx to run local binaries

    Using npx cypress open runs the local Cypress binary correctly.
  3. Final Answer:

    Run npx cypress open instead -> Option D
  4. Quick Check:

    Use npx for local binaries to avoid command not found [OK]
Hint: Use npx to run local packages without global install [OK]
Common Mistakes:
  • Trying to run cypress without npx after local install
  • Installing Cypress globally unnecessarily
  • Ignoring error and assuming install failed
5. You want to add Cypress to your project and ensure it is only used during development. Which sequence of commands correctly installs Cypress and opens the test runner?
hard
A. npm install cypress --global && npx cypress open
B. npm install cypress && cypress open
C. npm install cypress --save-dev && npx cypress open
D. npm install cypress --save && npm start cypress

Solution

  1. Step 1: Install Cypress as a development dependency

    Use npm install cypress --save-dev to add Cypress only for development.
  2. Step 2: Open Cypress Test Runner correctly

    Use npx cypress open to run Cypress without global install.
  3. Final Answer:

    npm install cypress --save-dev && npx cypress open -> Option C
  4. Quick Check:

    Dev install + npx open = correct Cypress setup [OK]
Hint: Install with --save-dev then open with npx cypress open [OK]
Common Mistakes:
  • Installing Cypress globally when not needed
  • Running cypress open without npx after local install
  • Using npm start without proper scripts
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard