https://youtu.be/krpKuSqQ0XM

I am sure most of you guys have already heard about Cypress as it’s becoming one of the most popular E2E testing tools in the industry and more and more companies are using Cypress to do their end-to-end testing with it.

Now, if you are not familiar with how Cypress works and how to write tests in Cypress, then make sure to check out this Cypress Testing Tutorial Series for Beginners as it will cover everything you need to get started with Cypress.io.

What is Cypress?

Cypress is a JavaScript All-in-one end-to-end testing framework. So what does that mean? Unlike many other frameworks…


https://youtu.be/naTXinVm58Y

In this tutorial, we will cover different types of Cypress Assertions such as the default, implicit and explicit assertions and talk about the difference between the should and the expect assertions.

Cypress uses the Chai assertion library as well as the extensions of Sinon & jQuery to provide you with dozens of powerful assertions for free.

Default Assertions

Cypress comes with many default assertions that can be used without having to explicitly define assertions, such as –

  • cy.visit(): every-time you visit a page, Cypress expects the page to return with a 200 status code
  • cy.get(): the get command expects the element to…


In this tutorial, we will cover some commonly used Cypress commands such as ‘get’, ‘click’, and ‘find’. We will also take a look at how to find the text of a particular element.

Cypress Get & Click Command

One of the most common commands that you will use in Cypress is the ‘get’ command. The ‘get’ command is used to access one or more DOM elements by a selector.

Usage:


In this tutorial, we will cover how to write your first test in Cypress. We will go over the basic Cypress syntax and run our tests using the Cypress Test Runner.

Creating your Cypress Test


In this Cypress testing tutorial, we will be doing the setup and installation on our local machine to get Cypress up and running.
One of the great things about Cypress is that using just one command you can get all the necessary packages installed to start writing your first test using Cypress. Let’s take a look at that –

Installation

To install Cypress locally, you need to run through the following steps –

  • Create a new npm project:
    mkdir your_project_name && cd your_project_name
    npm init -y to initialize your project
  • Install Cypress:
    npm install cypress --save-dev

This will download and unzip…


In this post, we will finalize everything by running our tests in Jenkins. We will cover Jenkins & GitHub Integration with the Selenium Python tests as well as generate a JUnit report at the end to see the results in Jenkins.

Pre-requisite

Make sure you have Jenkins installed in your local machine so that you can follow along with the rest of the steps. You can watch the Jenkins Installation video below that I made for the WebdriverIO tutorial series to see how to do that -

Push changes to GitHub

Once you have Jenkins installed, the next thing you will need to do…


In this post, we will go over how we can generate Dashboard and HTML reports with the SeleniumBase framework. SeleniumBase has in-built capabilities to generate reports without having to do any additional configuration. Let’s take a look at how we can do that:

Dashboard Report

Dashboard reports can be used to get a high-level overview of all the test runs. You can generate the reports by running the following command –

pytest --dashboard --rs --headless


https://youtu.be/x-w2Oq99J_0

In this post, we will take a look at how we can generate a screenshot of a test failure in Selenium Python so that we can quickly look at the screenshot and identify what was the state of our application at that moment.

We will also learn how to take screenshots whenever we want for a certain part of the screen and these screenshots can then be reviewed by your team for manual validation if needed.

Taking screenshot of failed tests

One of the many great features of using the SeleniumBase framework is that it comes with in-built screenshot generation capability when a test fails…


https://youtu.be/3V1HNR9qJXM

In this post, we will take a look at how to do exception handling using Selenium Python and the SeleniumBase framework. So, before we see how we can do that let’s talk about why you need to handle exceptions in the first place, usually if there’s an error within your test you would want the test to fail and that is true for 95% of the scenarios.

But, you will run into certain scenarios where you will encounter an error and you would want to handle that differently instead of just throwing the error and failing your test.

For example…


https://youtu.be/7l88MW-2Wlw

In this post, we will learn about the various wait commands available in Selenium Python using the SeleniumBase framework. Using wait commands when doing browser automation is inevitable. Therefore, it’s important to understand how to use wait commands the right way.

Using “Wait” the Wrong way

Now, this one, in particular, is a pet-peeve of mine. I have seen time and again in many codebases where hard-coded sleeps are used instead of implementing the right wait commands. I am sure you have seen this before as well or a variation of the code below –

Automation Bro

SDET Architect | YouTuber | Tech Blogger | Love to explore new tools and technologies. Check out my YouTube channel — https://youtube.com/automationbro

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store