Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
React Web App Testing With NodeJs, Cypress, and WebDriverIO
Rating: 4.2 out of 5(89 ratings)
16,847 students

React Web App Testing With NodeJs, Cypress, and WebDriverIO

How To Test A React Web App Using NodeJs, Cypress, and WebDriverIO
Last updated 3/2022
English
English [Auto],

What you'll learn

  • What is an automated atomic test
  • How to code automated atomic tests
  • How to login without a UI using HTML web forms
  • How to login without a UI using JWT
  • How to write a component test
  • How to add a test id to our web app
  • How to correctly test a link and a tab
  • How to replace e2e tests with component tests
  • Visual e2e tests
  • Visual cross-browser tests
  • CICD with Github Actions

Course content

1 section22 lectures1h 56m total length
  • Introduction1:21

    Master automated atomic tests and component testing, including login types (HTML, web forms, JWT) and test IDs, in CI/CD pipeline with Cypress, WebDriverIO, React Testing Library, and GitHub actions.

  • Setup2:24

    Follow the five sections to explore discrete blocks of activities, then set up by installing Node 14, forking repos, and running npm install and npm start in Visual Studio Code.

  • What is an atomic test6:22

    Learn to code automated atomic tests that validate a single feature, using UI automation on a sample e-commerce app to explore login, add-to-cart, and checkout, while emphasizing isolation and speed.

  • Getting started with Cypress4:10

    Get started with Cypress by installing dependencies, opening the user interface, and practicing automated atomic tests with provided exercises and solutions in the directory.

  • Breaking down tests into atomic tests5:49

    Break down tests into atomic steps and build automated Cypress tests that bypass login with session storage, verify adding an item to the cart on the inventory page, and checkout.

  • Answer to atomic tests exercise8:18

    Open the UI with npm Cypress open in Edge, verify the login is visible, and demonstrate atomic tests that add products to cart without a UI login.

  • Setting up for testing HTML forms and exploring the application5:29

    Test logins efficiently by isolating authentication from the rest of the tests, using HTML forms and Jason Web tokens, and explore the application with Cypress and WebDriverIO.

  • Improving the existing login tests9:03

    Improve test efficiency by bypassing the UI for login, demonstrating authentication via a server post and cookies to access the dashboard, reducing reliance on UI tests.

  • HTML Web Forms Answers2:41

    Learn to bypass authentication using html web forms in Cypress tests, compare UI versus API login approaches, and manage post requests and cookies to establish sessions.

  • Testing JWT9:07

    Explore how JSON web tokens authenticate users in a React and Node app by examining the login flow, token storage in local storage, and Cypress-based tests of the /authenticate API.

  • JWT Exercise Answer6:32

    Learn to test a React web app with Node.js, Cypress, and WebDriverIO using JWT authentication, bearer tokens, and session storage, validating login/logout and full-coverage CI testing.

  • Testing a React web app7:10

    Learn efficient react app testing with component tests, test IDs, and reliable link and tab checks, replacing end-to-end tests to demonstrate a scalable testing strategy in a simple app.

  • What are component tests5:31

    Explore component tests that validate a small UI piece in isolation and contrast them with end-to-end tests spanning the full app from dom to database.

  • Running component tests3:37

    Run component tests in React app with npm run test. Locate tests under source/__tests__ and filter by exercise. Component tests render without a server, while Cypress tests verify server startup.

  • Adding test IDs to the tests4:42

    Learn how to add data-test-id attributes to HTML elements for reliable test automation, use test ids with React testing library, and update tests to locate elements by test id.

  • More component tests7:45

    Learn to validate link behavior with component tests by asserting the href attribute and target, avoiding end-to-end clicks, and plan visual testing for layout across devices.

  • What is visual testing3:39

    Learn what visual testing is and how to implement visual end-to-end testing with WebDriverIO and Screener to ensure your app looks right on desktop and mobile.

  • Creating end to end visual tests with WebDriverIO7:27

    Learn how to set up and run end-to-end visual tests with WebDriverIO and screener, configure baselines, and review cross-platform visual checks to validate UI changes.

  • Visual e2e exercise answer2:43

    Modify a React web app by swapping the logo, run visual end-to-end tests with WebDriverIO and Screener, review failures, and automate a test pipeline for every commit.

  • CICD with a React App10:54

    Learn to design and run a fully automated CI/CD pipeline for a React app using GitHub Actions, npm build, and Cypress/WebDriverIO for component tests, functional UI tests, and visual tests.

  • Conclusions1:04

    Conclude the automation best practices workshop by reinforcing testing and development practices and presenting three simple actions to help the planet, with social media updates and ultimate takeaway.com.

  • BONUS LECTURE0:16

Requirements

  • Knowledge of NodeJS and JavaScript
  • An IDE that works with Node and JavaScript
  • Github Account

Description

In this tutorial we will learn:

Automated atomic test

Code automated atomic tests

Login without a UI using HTML web forms

Login without a UI using JWT

Write a component test

Add a test id to our web app

Correctly test a link and a tab

Replace e2e tests with component tests

Visual e2e tests

Visual cross-browser tests

CICD with Github Actions

So what are you waiting for? Let's jump into the tutorial


What current students are saying:

"I appreciate the time the instructor put on this course as well as the opportunity to get familiar with TestProject free of charge. Well explained, however, if you are using Windows and you are new in Automation Testing, you might find it a bit challenging with adding the SDK Token in your system environment since the instruction used MAC which is completely a different way with windows. Other than that... I appreciate a lot this free course .... thank you so much"

I like the fundamental approach used by the author. Will see:) To prepare for such a course - it's a really hard and big job. Respect and thank you.” - Serhii Kovalenko


Wonderful content and things explained in a nutshell. Overwhelmed by Author's dedication to putting things in such a way that any novice or manual tester can follow and understand and definitely be on-boarded as a Selenium Automation Engineer the next day at work. Thanks a million times for creating these courses! One Stop for Automation."- Rupashree Geethaaviji Ananthakrishna

“I am familiar with Nikolay from a course I saw on TestAutomation and have the highest regard for him. Glad to see him on Udemy.” - Annamalai Viswanathan


“One Of the Best courses on Selenium With C#. Cheers Nikolay!!” - Saransh Vaid

Who this course is for:

  • Beginner and Intermediate developers looking to learn how to test web applications