February 22-24, 2023
Montreal, Canada

End to end testing with Cypress

This workshop teaches you how to test a modern web application using the Cypress.io test runner through a combination of end-to-end and component tests. The application we are going to test uses the Vue.js framework, with Vuex data management and REST API calls, but the testing will be applicable to any modern web app, regardless of the technology it uses.

Knowledge of web development using JavaScript is required. Some basic Node.js skills are required as well.

Part 1: The Basics

  • How to install and run Cypress
  • How Cypress scaffolds files
  • Writing and running a basic end-to-end test
  • Setting up video recording and screenshots on failure
  • Selector Playground
  • Testing network requests
  • Using data fixtures in your tests
Part 2: Core Concepts
  • Configuring Cypress via CLI, env, config files
  • Retry-ability and custom assertions
  • Writing custom commands
  • Page Objects vs App Actions
  • Testing individual Vue / React / X components
  • Accessing OS via `cy.task`
  • When not to use Cypress
Part 3: Testing Strategy
  • Running Cypress tests on CI using GitHub Actions
  • Recording Cypress tests on the dashboard
  • Testing in parallel
  • Setting up data before the test
  • Unit tests vs component vs E2E tests
  • Function + Visual testing

Gleb Bahmutov

Mercari US

Gleb Bahmutov is a JavaScript ninja, image processing expert, and software quality fanatic. During the day Gleb is making the web a better place as Sr Director of Engineering at Mercari US. At night he is fighting software bugs and blogs about it at https://glebbahmutov.com/blog/. Microsoft MVP for Open Source Software, GitHub Hero, Algolia Ambassador, CircleCI Ambassador

Read More