Cypress Core Testing Workshop Online classroom

This module-based workshop is an excellent opportunity to learn core principles and patterns using the Cypress.io test automation framework. You will participate in 4 x 2-hour online sessions packed with quality content and gain insider tips from an industry expert with extensive experience with Cypress testing. This workshop is built on the "learn by doing" principle, meaning you can expect many practical examples, working with code, and real-life problem-solving with lessons you can apply immediately in your projects.

Please note that the start date for the Cypress Core Testing Workshop is yet to be determined, but you can still sign up and reserve your spot! As soon as we have enough participants for the course to run, we will let you know. Don't miss out on this chance to sharpen your skills and advance in your career. Sign up now and be the first to know when the course starts!

Summary

The workshop takes place over 4 consecutive days during 2 hour sessions from 13:00-15:00. You will have the possibility to review the lessons done during the evening. 

Course fee: 13 000,- NOK eks. MVA
Language: English
Location: Online Classroom (Zoom)

Prerequisites needed

  • Basic Javascript coding experience

  • Basic Git experience (mainly to clone the project)

  • Node and NPM installed

  • A text editor such as VSCode

  • A Circle Ci account for running tests in the pipeline

Content - Day 1

  • Overview of Todo app / Intro

  • Discuss about the requirements of the workshop

  • Talk about the github project folder organisation

  • Spin up the Todo app locally and go over its features

  • Starting a new Cypress project

  • Hands-on exercise: Ask learners to create a new project and install cypress

  • Explore the Cypress folder structure

  • Writing their first Cypress test and showing learners how to use the Cypress Test Runner

  • Setup intelligent code completion to help with coding

  • Introducing Cypress Docs - the documentation site where they can find all info about the Cypress API

  • Writing some basic tests (This will be a collaborative session)

  • Introducing learners to cy.contains() command

  • How to run tests in Cypress 

  • Concept of screenshots and video recording in Cypress

  • Best practices when it comes to selecting elements

  • Hands-on exercise: Write more test on the Todo app

  • Discussion on Unit test vs E2E test

  • Selector Playground

  • How to use Selector Playground when it comes to interacting with elements

  • Hands-on: Ask learners to play around with the Selector Playground

Content - Day 2

  • Cypress Studio

  • How to use Cypress Studio to record tests (faster way of writing Cypress tests)

  • Hands-on: Ask learners to experiment with Cypress Studio

  • Tips on making tests reliable (+ intro to fixtures)

  • How one test can affect another test by leaving its data behind 

  • How to reset/set up data using Cypress

  • Introduce learners to cy.request(), cy.writeFile(), cy.exec() and do hands-on exercise on how to use these 3 methods

  • Talk about the concept of data fixtures in Cypress

  • Control network calls (+ intro to aliases)

  • How to spy/stub network calls for better test control using data fixtures

  • How to wait for network calls to finish

  • Introduce learners to the concept of aliases in Cypress

  • Hands-on: Ask learners to spy/stub network calls and use mock data as a response for a network call

Content - Day 3

  • Configuring Cypress in a CI/CD pipeline for Devops practices
  • Introduce learners to Cypress docker images
  • Ask learners what steps they will do to run their tests on a CI pipeline
  • Introduce learners to a plugin called start-server-and-test to simplify their CI workflow
  • Introduction to CircleCI Cypress Orb (just a brief overview as people use different CI systems such as Jenkins, Github Actions or Gitlab)
  • Cypress Dashboard
  • Introduce learners to Cypress Dashboard and how is it useful
  • Hands-on: ask learners to create a free account and run their tests on the Cypress Dashboard
  • Test Reporters in Cypress
  • Discuss various ways of reporting tests in Cypress
  • Hands-on: how to produce HTML reports using mochawesome
  • Cypress Configuration
  • How to use different configuration options in Cypress 
  • How to pass environment variables to your test

Content - Day 4

  • Cypress Custom Commands
  • How to create reusable functions in Cypress
  • How to create custom commands in Cypress
  • Hands-on: Ask learners to refactor tests using reusable functions and custom commands
  • How to create a TypeScript definition for a new custom command to enable intellisense
  • Overview of some useful plugins in Cypress
  • Cypress Fixtures
  • How to load and use data fixtures extensively
  • Various formats for data fixtures
  • Cypress Code Coverage
  • How to collect code coverage when running Cypress tests
  • Further learning..

Who’s the workshop for

It is especially useful for testers, QAs and QA engineers that are starting with test automation or are migrating from another framework, such as Selenium. It can also be useful for frontend developers or others that would like to get to know Cypress and test automation.

It’s definitely NOT suitable for people that have no prior experience with web applications or basic programming. If CSS, HTML and JavaScript are still foreign terms for you, it’s better to first catch up on the basics of these. 

About the instructor

MarieCruz_2022-2

Marie is a software tester with almost ten years of experience and is currently a Developer Advocate at k6.io.

She is passionate about sharing her knowledge with the testing community via speaking at various meetups and conferences, creating YouTube videos, and blogging about testing and test automation topics at testingwithmarie.com.

She is also an online course instructor at Test Automation University and Ministry of Testing, teaching people about accessibility and introduction to Cypress.

 

SIGN UP