in this Cypress framework, we have made certain useful additions that cypress.io doesn’t provide by default. In this article, we will be looking at how we can leverage a connection to an SQL database and use this to validate values stored inside a database table.

pg is a non-blocking PostgreSQL client for Node.js. Pure JavaScript and optional native libpq bindings. We will use this as a connector for our JavaScript code to the SQL database. We start by executing the following command:

npm install --save-dev pg

pg should get reflected in package.json file at the end of devDependencies.

In this news series called #shorts I’m taking a dig at few small but peculiar problems and their solution. Hello!

We all know that cypress.io is a really cool automation tool where one can easily automate the API and UI part of a web application easily. Cypress has everything working out for its success, as it provides most of the things out of the box; except for few things which one has to tackle is not an easy way.

In this #short we are gonna explore how to tackle a simple JSON File Upload using cypress custom commands.


Ghost publishing platform is a great place for starting up with a free website or especially a blog. Ghost is open-source software built by previous developers of WordPress that offers in-built membership management, social media, SEO with a focus on blogging, works on a modern Node.js code, customizable beautiful themes, and SSL. Along with it comes with lots of Integrations with such as Adsense, Disqus & Zapier. These are few of the thing which every blogger aspire to have. You can look into a lot more things that Ghost has to offer here. …

When I first started building this Cypress framework, I was barely exploring what things cypress has to offer out of the box and few missing things which can be obtained with the help of external NPM packages. Once I was confident enough with the framework I started experiencing other challenges while trying to reuse my generated data; so the need for State Management arose.

Test State Management is essentially how to manage the data which is generated by the the framework which is to be used in subsequent test steps

The Challenge

So I had a framework that was running and consuming…


In Part-5 of this article series, we added Mochawesome Test Reporting to our Test Automation Framework. In this article, we will add a few remaining things such as multiple environment support, better run commands, add report logs (using addContext()), and XPath support.

Alles klar, lass uns anfangen!

Adding multiple environments support

Often times, we need to run our test suites on different environments; say while merging PRs we can validate changes on a Staging or Dev environments, and once a release is decided, then we can validate the changes on a much stable environment such as QA or a prod-like environment.

In this…


In Part-4 of this article series, we added Page Object Model support to our Test Automation Framework. In this article, we will add a key component of an automation framework i.e. adding Test Reports. Vamos começar!


In Part-3 of this article series, we added native API testing support to our Test Automation Framework. In this article, we will organize our Test framework to accommodate Page Object Model aka POM for UI web elements.


In Part-2 of this article series, we added Cucumber BDD support to our Test Automation Framework. In this article, we will build on top of this, and add native API testing support. Native? using only cypress and no external JS libraries. Promesa.


In Part-1 of this tutorial series, we did a Cypress setup, created a sample cypress project and then, wrote and ran a sample test case. Now in this article, we will shape our current cypress project into something more.. (adding few secret magic potions 😉)


This is an X-part series on how to build a Test Automation Framework using Cypress.io. (X because I’m not sure how many parts there will be right now, so buckle up!!). Let’s get started!

Kushal Bhalaik

QA By Day. Wannabe dev by other times.

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