Cypress Advanced

Designed for those who have attended our Cypress Essentials training course, or for existing users of Cypress who already know the basics.

This course looks to extend your knowledge of Cypress with some of the more advanced features, and also how JavaScript can be utilised to cope with dynamic tests and other real-world problematic scenarios.

The course is online, live, instructor-led, and incorporates a comprehensive e-workbook for the course. In between each online session we give you practical exercises for you to have a go at. The sessions are recorded, so you can review them later, and we also provide resources through GitHub projects.

Course Delivery and Duration

The course is delivered online, instructor-led (VILT) over 4 days, with each day being approximately 3.5 hours training. It can also be delivered on-site, classroom-based if required.


We use Microsoft Teams for delivery. Cypress can be run on Windows, Linux or Mac, and the course relates to all three platforms using Visual Studio code as the example IDE.


  • Attended our Cypress Introduction course, or
  • Used Cypress for a little while and understand the basic concepts

Course Overview

Syns vs. Async

Sync/Async and Callbacks, Promises, examples of typical issues

Executing JavaScript (how & where)

JS code execution, .trigger() method, Cypress bundled libraries, executing JS against a web page, executing JS in NodeJS

iFrames and Origins

Handing iFrames, Cross-Origin issues and how to handle them

JavaScript Function Libraries

Creating and importing Modules, overcoming the Aysnc nature of using JavaScript functions

Looping through Web Elements

Looping through Drop-down menus, Web Tables, Radio buttons

Data-Driven Testing & Passing values between Tests

Data-driving a Test Case, passing values between Test Cases

Window & Browser Objects

Window Objects, Handling URL information, Cookies, Viewport, tying Test Cases to specific Browsers, WebKit

Session State

Test Isolation feature in Cypress, capturing session state, restoring state between Tests, Login example, Resetting Session State

Dynamic Test Case example

A worked through example of capturing dynamic values and utilising maths to check correct values

Page Object Model

What is the POM? How to implement it in Cypress, advantages of the POM

API Testing

Exploring the Edgewords REST API, cy.request() method, example GET and POST methods, Basic Authentication

GitHub Actions

Creating a GitHub Action YAML file, using GitHub to execute your Test Suite on a remote instance

How to Book

Please either phone +44 (0)333 939 8884, or email

Private courses can be arranged at a date & time to suit, and are for up to 10 delegates.

Related Courses: