Cypress is a powerful Test Automation tool that plays a key role in the overall implementation of DevOps practices. It enables automated testing of web applications, offering a wide range of features and capabilities to streamline the testing process. With Cypress, teams can achieve faster and more efficient testing, leading to improved software quality and faster time-to-market.

In today’s industry landscape, there is a growing demand for QA/testers who possess strong programming skills. The role in high demand is that of an SDET (Software Development Engineer in Test). SDETs are responsible for developing robust testing frameworks, writing automated tests, and ensuring the overall quality of the software. By equipping yourself with programming skills, you can align with this industry demand and enhance your career prospects.

Towards the end of the course, you will be assigned a project that you need to complete using an automation framework. This project will serve as a practical application of the knowledge and skills you have acquired throughout the course. It will enable you to demonstrate your proficiency in test automation and showcase your ability to design and implement an automation framework that meets industry standards.

Who can attend this course

Engineering Graduates

 

Non-IT professionals (Preferably engineers)

 

Developers

 

Manual as well as Automation Tester

Courses Outline

Javascript
Cypress Basics
Assertions
Automation Framework Components
Automation Basics
Writing Your First Test
Retry-ability
Cypress - Advance App Behaviours
Introduction to Cypress
Locators
Cypress Commands
Cypress - API Testing

Why Niche Thyself

All our trainers are having minimum 10 years of experience in test automation.

Every session we conduct is a combination of theory and hands-on

All sessions are recorded which participants can keep with them for life time

Courses Benefits

SDET Role Readiness: The course prepares participants for a Software Development Engineer in Test (SDET) role, equipping them with the necessary skills to develop robust testing frameworks and write automated tests.

Comprehensive Test Automation: The Cypress course covers all aspects of Test Automation using the Cypress tool, enabling participants to automate testing processes effectively.

Project-Based Learning: Participants complete a project using an automation framework, allowing them to apply their knowledge and demonstrate their proficiency in Test Automation.

Strong Programming Skills: Participants acquire strong programming skills, specifically in JavaScript, which is widely used in web development and automation.

Hands-on Experience: The course offers practical, hands-on exercises allowing participants to gain valuable experience using Cypress for Test Automation.

Streamlined DevOps Implementation: By leveraging Cypress, participants learn how to integrate Test Automation into DevOps practices, ensuring seamless collaboration and faster software delivery.

Version Control with Git/GitHub: Participants learn how to effectively manage and maintain source code using Git and GitHub, essential skills for successful software development.

Jenkins Pipeline Creation: The course teaches participants how to create pipelines in Jenkins, a popular CI/CD tool, facilitating efficient build, test, and deployment processes.

Demo Video 

“Experience the future of learning: Watch our captivating demo video and embark on a transformative educational journey with our courses.”

Detail Course Content

h

Installation & Configuration

  • Node Installation
  • Install Visual Code
  • Understading pacakge.json
h

Javascript Basics

  • Introduction to Javascript
  • How to install Javascript
  • variables
  • functions
  • Operators
  • String Methods
  • Arrays
  • Control Flows
  • Promises/Async waits
  • File Handling
  • Import/Export
  • Object Oriented Programming
  • Exception Handling
  • Collections
  • DB connectivity
  • Logging
  • All the above concepts with hands-on examples
h

Introduction to Cypress

  • Installing Cypress
  • What is Cypress
  • Cypress Architecture
  • Cypress vs Selenium
  • Cypress Environment variables
h

Cypress Basics

  • Advantages of Cypress
  • Limitations of Cypress
  • Basic Components in Cypress – Test Runner , Dashboard
  • Cypress Test Runner
h

Writing Your First Cypress Test

  • Cypress Folder Structure, spec, hooks, fixtures, downloaded, screenshots, videos, assets, plugins, support
  • Test Runner – UI
  • Test Structure – describeand it (Mocha)
  • Understand basics of writing test cases in Cypress
  • activating code completion
  • Deubugging in Cypress
  • Chai – ‘expect
  • Hooks
  • Excluding and including tests – onlycy.skip
  • Cypress modes – legacy and strict
  • Test Status – Pass, Failed, Skipped, Pending
  • Watching Tests
h

Locators in Cypress

  • Cypress locating strategies
  • Cypress plug in to generate locators
  • Types of locators
  • Why do we need Selectors?
  • Document Object Model (DOM) & Elements
  • Practical In Depth Look into Selectors
  • Selector Generator Tools
  • CSS Selectors
  • Xpath Selectors
  • Dynamic Selectors
  • Automatic retries by Cypress commands
h

Assertions

  • Why do we need Assertions?
  • Chai Assertions & Cypress Examples
  • Adding Assertions to our Existing Tests
  • Chai JQuery
  • Implicit (default) And Explicit Assertions
  • Cypress contains command
h

Retry-ability - Say goodbye to flakiness

  • Commands vs assertions
  • Commands not retried
  • Built-in assertions revisted
  • Timeouts
  • Best practices in using retry-ability
h

Cypress Commands & How they work

  • Command Activation & Inspecting Specific Cypress Commands
  • Interacting with Elements
  • How Cypress checks visibility, action-ability, disability implicitly
  • How to bypass the above checks
  • Test Runner – Console
  • Async promises with Cypress
  • Difference between JQuery methods and Cypress commands
  • Cypress variables
  • aliasing elements
  • setting a base URL
  • visit & clickCommands
  • clickOptions
  • typeCommand
  • wrapcommand
  • getand find commands
  • Testing text input
  • selecting elements
  • working with command results
  • handling checkbox, radio
  • dropdwons – static and dynamic
  • Visible and invisible elements
  • Complex actions – doubl-eclick, right-click
  • Handling webtables
  • andcommand
  • filterand not commands
h

Cypress - handling advance app behaviours

  • Handling Alerts and popups with Cypress
  • Working with iFrames and understanding Same-Origin policy
  • Handling child tabs using Cypress and JQuery commands
  • Handling child windows
  • Cypress – File Upload
  • Handling Shadow DOM
h

Automation Framework Components

  • Create custom commands
  • Page Object Model
  • Integration with CI
  • Use External libraries
  • Reuse data with Cypress Fixtures
  • Extend Cypress with plugins
  • Test Data Management
  • Data-Driven Testing
h

API testing with Cypress

  • What is API and what is API testing
  • API Testing Introduction
  • GET Request
  • POST request
  • PUT/DELETE requests
  • Changing browser behaviour with Cypress events
h

Reporting

  • Cypress Allure Plug-in
  • Mocha JUnit reporting
  • Mochawesome report with Cypress
h

Cypress - Best Practices

  • Logging and controlling state
  • Selecting elements
  • assigning return values
  • visiting external sites
  • Test isolation
  • small is better – Single Responsibility Design Principle
  • DRY Design Principle
h

Git/GitHub

  • Introduction to SCM
  • Types of SCMs
  • Creating repo(repositories)
  • Adding files to repo
  • Branches and Best practices
  • Merging, Cloning, tagging
  • Importance of .gitignore
  • Working on Git Command Line
  • GitHub account creation
  • Uploading your project with GitHub using command line and Eclipse
  • Integration with Jenkins using GitHub Webhooks
h

CI/CD Intergration - Docker - Jenkins

  • Cypress Dashboard
  • Cypress with Docker
  • What is CI and CD
  • Manage Configuration
  • Setup Build Jobs
  • Plugins
  • Scheduling Builds (Push/Pull)
  • Configuring a Jenkins Pipeline for test execution
h

BDD/Cucumber

  • What is BDD/TDD
  • BDD with Agile
  • Feature File – Gherkin
  • Step Definitions
  • Tags
  • Parameters in Step Definition
  • DataTables
  • Writing Tests
  • Executing tests
  • Reports
h

Creating Test Automation Framework

What is Test Automation Framework

Why we should care

How to create a robust automation Framework

    • Re-usability and maintainability is the key focus area
    • Configurability
    • Effective Usage of Design Patterns
    • Test Data Management
    • Exception Handling
    • Debugging using Logs
    • Effective exception handling
    • Principles of writing clean code
    • Reporting Frameworks
    • Integration with CI tools like Jenkins
    • Use of version control
    • Support for parallel execution – on-premise/cloud
    h

    Test Automation Project

    • Automate an e-commerce application
    • Make decisions on frameworks based on requirements
    • Design Test Data Management Strategy
    • Design logging strategy
    • Design exception handling and reporting
    • Design page objects/custom commands for store and admin panel
    • Write tests and execute them
    • Make scripts accept run-time parameters instead of hard-coding
    • Create utility package to re-use (modular framework)
    • Allure Reporting Framework
    • Integrate with Jenkins and GitHub
    h

    Post Training Association

    • Typical Interview Questions
    • Resume Preparation
    • Mock Interview – only on request
    • Providing interview calls with companies
    • Regular communication on WhatsApp group regarding selenium webinars, conferences and job openings

    Ready to get started?

    Up-Skill . Cross-Skill . Re-Skill