August 16, 2023

End to End Testing using CYPRESS — A Quick start Guide

The best time to establish protocols with your clients is when you onboard them.

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Software testing is a process, to evaluate the functionality of a software application with an intent to find whether the developed software met the specified requirements or not and to identify the defects to ensure that the product is defect-free in order to produce a quality product.

What are End to End Tests?

End-to-end testing is used to examine an application’s whole workflow. The goal of an end to end test, is to interact with the application like an end user does. Many development teams still employ manual end-to-end tests. In order to test an application’s flow, QAs and developers must manually click through it. As you may expect, this requires many hours and is error-prone. We might fail to test specific workflows and leave undiscovered bugs.

Automated end-to-end tests thoroughly evaluate an application by imitating a real-world user situation.

Good automated end-to-end tests provide many advantages. Some of them are listed below:

  • Catches bug early on
  • Saves hours spent on manual testing
  • High quality software

About Cypress

Cypress is an end-to-end testing framework for anything that runs in your browser that is quick, simple, and dependable. Cypress is a JavaScript application that is open-sourced. End-to-end tests have historically been slower and more expensive. The end-to-end testing process has been improved using Cypress.

Advantages of Cypress

  • Faster
  • Easy Setup
  • Easy to write and run test scripts
  • Overall less expensive for development teams to write end to end tests.

Cypress provides some fantastic features such as time travel debugging, automatic waiting, screenshots, and videos.

Cypress Setup

NODE Installation: Node.js is a server-side runtime environment that is built on top of Chrome’s V8 JavaScript engine. It is open-source, totally free of cost, and millions of developers use it across the globe. Additionally, it includes everything you need to run a program written in Javascript. You are required to Install Node JS framework before start building your Node.js application.

Cypress can be downloaded directly from the Cypress CDN (https://www.cypress.io/). The direct download will always download the latest version for your platform. It will download a zip file, which can be extracted by the user.

OR

You can use either npm or yarn commands to install.

Install Cypress via npm:

cd /your/project/pathnpm install cypress --save-dev

Or

Installing Cypress via yarn:

cd /your/project/pathyarn add cypress --dev

On VS Code, there is an awesome plugin for Cypress, named Cypress Snippets. Make sure to install it, and that can provide code snippets for your Cypress code within VS Code.

By default, if you integrate Cypress within an existing project, it generates sub-folders within the main cypress folder. The folder structure is as shown in the picture below with folders for fixtures, integration, plugins and support.

The integration folder is where you will add your Cypress test files.

Writing the First Test Script

Make a new test file with the.js extension and place it in the integration folder. Name the file as first spec.js. To confirm that the client is active at a particular url, I’m going to create a straightforward test. Say your web application is accessible at http:localhost:4100. To make that the programme actually loads at that url, we’ll quickly construct a test.

We can enable IntelliSense on VS Code, using the first line on the code snippet above. This makes our IDE provide intelligent code suggestions. Notice, that the test uses keywords like describe and it. These maybe familiar to you from other testing frameworks as well. They come from Mocha, another popular testing framework.

We’re using a Cypress command visit to go to a specific URL. Many commands in Cypress make it easy for you to test your application. All Cypress commands start with cy, then the command’s name. The URL argument is required for the visit command.

Now that our test file is finished, it is time to run it.

Running the First Script:

Cypress tests can be run via the command line or through the Cypress test runner. Run the below mentioned command to launch the Cypress test runner.

npx cypress open

This command, open the test runner as shown below:

Within the Cypress test runner, you can select the test you want to run, and also pick a browser to rub the tests against.

Now I am running a Cypress example. You’ll be able to check how quickly the Cypress test executes and how it behaves when interacting with the application like a real user. The tests are running and each command and assertion are visible on the left, and the browser is open and the application is running on the right. When Cypress accesses the URL, the web application is active. This signifies that our first end-to-end test was successful! Yay!

You may do the same with your web application, and this will get you all ready to start writing Cypress tests.

Future Steps

When it comes to Cypress, we’ve barely begun. I gave you a quick rundown on Cypress, how to set it up, and how to get started with it. In following Articles, we’ll go into greater detail on the Cypress testing.

Other Resources:

https://www.cypress.io/

I hope you learned something from this article. If you liked this post, don’t forget to share it with your network. You can follow me on on jagadeesh.medium.com for more updates from me.

CodeStax.Ai
Profile
August 16, 2023
-
6
min read
Subscribe to our newsletter
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Share this article:

More articles