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.
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.
Cypress comes with many default assertions that can be used without having to explicitly define assertions, such as –
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.
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.
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.
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 –
To install Cypress locally, you need to run through the following steps –
mkdir your_project_name && cd your_project_name
npm init -y to initialize your project
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.
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 -
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 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
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.
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…
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.
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.
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 –