Cypress: Full-stack Test Automation with Cypress, Selenium WebDriver, RESTful API, GraphQL, and databases

Course Overview: The Cypress automation course is designed to give you a 100% practical and actionable overview of the topics used in the Cypress Automation projects for both UI and API

(0 Reviews)

Course Description

This course covers four key areas: thorough mastery of JavaScript(ES6) programming from beginner to advanced level, Cypress for UI testing, REST API testing with Cypress and Database test automation with Cypress. Cypress.io is a web-based automation testing tool that automates anything and everything available on a web page. Cypress is a very modern JavaScript-based framework. It has everything you need right out of the box: Test Runner, Assertion libraries, reporters and so on. It s very nicely and easily can be integrated into the front-end application (this is what we will do in the class) and your tests will be executed in the same run loop as your application. That's why this framework is very fast!. We will start with the very basic concepts of Web UI Automation so you will have the right foundation from the beginning (From Zero). Even if you will use any other framework for web automation in the future, the basics from this class will remain with you forever and will be very useful. I promise that you will be a HERO in building locators for any web element on the page. This is one of the most important parts of UI Automation and I have dedicated many minutes to a detailed explanation of that. Unlike many other Automation frameworks, Cypress can interact with APIs as well and you can automate API testing with Cypress actually. So again, if you don't know what API is about, we will start with Zero and learn everything you need to know about Cypress's capabilities for API interaction. I would not recommend building API automation framework based on Cypess, but its API capability is very useful in E2E testing and we will cover the use cases for that in this class. And we definitely go through Page Objects, which is very important to use! When you have 10 to 20 tests, you can maintain your code as is, but when you have 200-300 tests, the maintainability of the test framework is a number one priority. The right structure of page objects is a key to code reusability (no copy/pasting your code) and maintainability. Also, we will go through different advanced topics such as environment variables, setting up multiple reporters, cypress retry for failed tests, and eventually, we will run tests in Docker Container. If that will be your first experience with Docker, no worries, we will talk about basic Docker concepts as well. By the end of the class, trust me, you will be a Cypress Hero.

Fee Breakdown


Total Payment: £890.99


Select preferred start date


Key Technology Tags

Browserstack GitOps Pipeline PageObjects BDD JavaScript Shell

Course Features

Seats Available: Unlimited seats
Instructed In: English
Installment Allowed: No
Instructor: Edwin Nwofor
Delivery Mode: Offline
Next Starting: Student Discretion
Duration: Est. 6 months
Institution: CEN IDEA LTD

Course Prerequisite(s)

No prerequisites are required. This course teaches from the ground up even for the very beginners

Don't shy away from asking questions during the sessions


Course Takeaways

  • JavaScript (ES6) fundamentals for beginners in the programming

  • How to build locators for any Web Elements via Browser or JavaScript

  • How to interact and automate any kind of web application and its components.

  • How to interact with APIs, mock API response and make assertions.

  • Practical knowledge in designing Cypress Automation framework from scratch using Mocha and Cucumber Frameworks & Page Object design pattern.

  • Complete understanding of Cypress Components for generating test execution Videos, Screenshots & Reporting and run tests in Docker container

  • Parallel test execution, Cypress Dashboard, Cross Browser and Visual testing

  • Real Time Hands On Exercises to practice Cypress Parallelly with Videos for building confidence on the tool.

  • Understand how to Mock Network responses and Perform Integration testing with Cypress.

Course Syllabus

  1. Installation and Setup of NodeJS - ES6, NodeJs, NPM, Yarn & Editor
  1. Installation and Setup of VS Code
  1. Introduction to NodeJS
  1. Output
  1. Input
  1. How to define Variable
  1. import/export
  1. Objects
  1. Function
  1. Arrays
  1. Conditional Statement
  1. Control Statement
  1. Introduction to OOP Concepts
  1. Classes
  1. Variable – Local, Instance, Constants variables
  1. Access modifiers – private, public & protected
  1. Methods - Custom, Constructors, Getters & Setters
  1. Objects of class
  1. Encapsulation
  1. Inheritance
  1. Polymorphism
  1. Introduction to Cypress and end-to-end testing
  1. Architecture of Cypress
  1. How is it different from Selenium?
  1. Explain Test Runner, Playground, Reporting and other features
  1. Explanation of the tools needed to run Cypress.io - Node.js, ES6, TypeScript, NPM, Yarn, and VS Code Editor
  1. Installation and Setup of NodeJS
  1. Installation and Setup of VS Code
  1. Installation and Setup of Git and Git remote server
  1. Introduction to Browsers needed - Chrome, Firefox & Electron
  1. Installing and configuring Cypress
  1. Writing the first test case
  1. Explain Cypress folder structure
  1. Running Cypress test
  1. Cypress Assertions
  1. Assignment: Write a simple test to visit a website and assert the page title.
  1. Introduction to Interacting with elements
  1. Explanation of the different types of locators in Cypress
  1. Finding Web Elements and creating custom selectors
  1. Organizing tests with describe and it blocks
  1. Checkboxes and Radio Buttons
  1. Assignment: Write a test for a login flow that includes interactions with input fields and buttons.
  1. Introduction to Git
  1. Installation of Git
  1. Git configuration
  1. Git commands
  1. Git Workflows
  1. Git Remotes and code management
  1. Introduction to Cypress Test Runner
  1. Using Chrome DevTools with Cypress
  1. Debugging and troubleshooting tests
  1. Running tests from the command line
  1. Working with test hooks (before, beforeEach, after, afterEach)
  1. Advanced interaction with elements (hover, scroll, drag-and-drop)
  1. Using custom commands and utilities
  1. Web Datepickers
  1. Lists and Dropdowns
  1. Web Tables
  1. PopUps and ToolTips
  1. Assignment: Write tests for a webpage that involves complex interactions and handling of browser dialogs.
  1. Best practices for writing Cypress tests
  1. Using fixtures to handle test data
  1. Working with test data from external APIs
  1. Using environment variables for test configuration
  1. Assignment: Write tests that use different fixtures and environment variables to test different data scenarios.
  1. Making network requests and intercepting responses
  1. Using cy.request() for stubbing and spying
  1. Handling authentication in tests
  1. Working with external APIs and mock data
  1. Assignment: Write tests that intercept network requests and verify appropriate responses.
  1. Introduction to API testing or Making HTTP Request with Cypress
  1. JSON Objects
  1. Mocking API Response
  1. Intercepting API requests
  1. Write API test with cypress.request() for GET, POST, PUT and DELETE
  1. Cypress Assertions for API tests
  1. Introduction to YAML
  1. Introduction to GitLab Pipeline
  1. GitLab as Source Code Management
  1. GitLab pipeline - Docker
  1. Introduction to performance testing with Cypress
  1. Load testing and stress testing with Cypress
  1. Integrating Cypress with CI/CD pipelines
  1. Running tests in different browsers
  1. Parallel test execution with Cypress Dashboard
  1. Assignment: Set up CI/CD integration for your Cypress tests and run them in multiple browsers in parallel.
  1. Introduction to Page Object Design Patterns
  1. First Page Object Design Patterns
  1. End-to-End Flow With Page Objects
  1. What is BDD and Cucumber? Benifits of it
  1. Install Cucumber Cypress Preprocessor Plugin and setup BDD
  1. Simple Usgae of BDD in writing tests
  1. Feature file, Step Definitions, Hooks & Pages in BDD
  1. Building a comprehensive test suite for a sample web application
  1. Building integration testing with Cypress with Unit test framework
  1. Building integration testing with Cypress with BDD test framework
  1. Best practices for maintaining and scaling test suites
  1. Introduction and setting up the reporter
  1. Generating the report in Cypress.io
  1. Adding screenshot context

No Reviews on this room