We provide online workshop about Cypress Core Testing. This module-based workshop is an excellent opportunity to learn core principles and patterns using the Cypress.io test automation framework.
Content:
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. The workshop takes place over 4 consecutive days during 2 hour sessions from 13:00 - 15:00 and you will have the opportunity to review the lessons done during the evening. The 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.
Program 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
Program 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
Program 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
Program 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
About the instructor:
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.
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.
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
Language:
• The course is given in english