Getting Started with CircleCi and Cypress

Marie Drake, Principal Test Automation Engineer @ News UK

 

 

Thank you Billy and Xpertise Recruitment!

Agenda

  • What is Continuous Integration?

  • Why Continuous Integration?

  • What is CircleCI?

  • Cypress Examples

    • Cypress orb

    • Attaching artifacts to your test run

    • Cypress docker image

  • Guidelines/Best Practices

"Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible" - Martin Fowler

 

What is Continuous Integration?

https://martinfowler.com/articles/continuousIntegration.html

📖 The Phoenix Project

📖 The Unicorn Project

Why Continuous Integration?

  • Avoids the problem "Hey it works on my machine, it should work on your machine too!"

  • Provides a faster feedback loop

  • Promotes better visibility and allows team to fix bugs earlier on the process

Why Continuous Integration?

  • Easily test small changes

  • Enables faster deployment 

  • Enables Continuous Delivery and Continuous Deployment

What is CircleCI?

Getting Started

  1. Setup Github

  2. Push some changes to a branch

  3. Go to circleci.com

  4. Read documentation

  5. Create .circleci/config.yml

  6. Push new changes to branch

  7. CircleCI runs the job

We'll look at examples of course 😅

version: 2.1
orbs:
  cypress: cypress-io/cypress@1.25.0
workflows:
  build:
    jobs:
      - cypress/run:
          name: Run E2E tests

Let's look at more examples

Guidelines/Best Practices

  • Start small 🙂
  • Integrate fastest tests as early as possible
  • Don't jump to CD right ahead!
  • Run different tests in parallel
  • Make test reports visible
  • Integrate to communication channels such as Slack
  • Isolate flaky tests ASAP
  • Get whole team's involvement

Resources

Questions?

Marie Drake, Principal Test Automation Engineer @ News UK

 

 

Made with Slides.com