Image for post
Image for post

Logos in header image sources: Python, Requests, JSON, HTTP

This is fourth post in a series on how to build an API framework using python.

You can read previous parts below:

Any API framework would be incomplete without having the ability to deal with XML responses and requests.

You might primarily need this if you are automating a SOAP (Simple object access protocol) based services in your project or if you choose to use XML as a data format for configuration, test data and what not. …


Image for post
Image for post

Logos in header image sources: Python, Requests, JSON, HTTP

This is second post in a series on how to build an API framework using python.

You can read previous parts below:

An integral part of any test automation framework is how you perform assertions ✅ 🔴. You can also argue that it’s the essential bread and butter of test automation. Ever seen a test that does not assert anything? 🤔

While you can always choose what comes out of the box with your language or test framework, or even come up with your own wrappers. …


Image for post
Image for post

Logos in header image sources: Python, Requests, JSON, HTTP

This is second post in a series on how to build an API framework using python.

Read part 1 here

Understanding API under test

Let’s understand the API that we will be using in this tutorial a bit better.

We will be using people-api which is a set of CRUD HTTP operations developed using Python Flask, SQLAlchemy and uses sqlite as the database and represents a list of persons with first name, last name and an id

To setup clone people-api repo from github and then activate the pipenv by running below:

pipenv shell

Ensure all the dependencies are installed in the pipenv by…


Image for post
Image for post

Logos in header image sources: Python, Requests, JSON, HTTP

Hi there, 👋

I am currently building 🏗️ a course for Test automation university on “Building an API testframework with Python” and had this idea of why not have a blog for each chapter as I go along to serve as a supplement to the video course content while also being accessible to folks who are more inclined to read blogs and ensuring I personally stay focused and don’t procrastinate on this 😁. You are all there to hold me accountable to do this. 🤝

These posts are gonna come out in order as the course is being developed and much before the actual course is published. The course is gonna dive deep into most of the aspects mentioned here. Hopefully these would provide the test automation community valuable insights and guidance on how to approach building API automation frameworks at their workplace using…


How we adopt mob testing to bootstrap an entire team’s approach to quality.

Image for post
Image for post

Here’s a question you might have pondered over already:

Do you think devs, PMs, designers, or business folks in your team can test as well as a dedicated tester?

If your answer is ‘no’, this blog’s here to try and change your perspective.

From my own experience, I’ve found that when sufficient context is given, ‘non-testers’ can test so well that the team’s tester can actually think of taking a vacation and come back to BAU with awesome products and features getting shipped.

If you’re thinking this is just wishful thinking or a pipe dream at best, I come bearing facts and real-life examples. …


Image for post
Image for post

Photo by Emily Morter on Unsplash

Background

In the vast field of Software engineering, there are few broad disciplines that team members typically work under, these usually defines an engineers primary identity on a cross-functional team

Some of these broad disciplines/roles are that of a Product Manager (PM), Frontend developer (Web/Mobile/Desktop), Backend Developer, Tester, Designer, Copywriter ,etc.

You can quite easily append “Engineer” to any of these roles and form a title.

The most common developer title that I’ve noticed is that of a “Software engineer” or SWE for short however it can be quite focussed on the specific stack/technologies that they primarily work on, for instance, some of these titles are Android engineer, iOS engineer, Backend engineer etc, usually these titles are quite unambiguous. …


Image for post
Image for post

Image Attribution: Report portal logo, logback logo, Gradle logo — wikipedia

Hi there, friend 👋,

Report portal is a quite unique open-source reporting solution available and seamlessly integrates with the test runner of youR choice

I’ve been using Report portal in my current company and have quite recently started looking into its features in more detail.

If you new to Report portal and want to get started with setting up a basic instance on docker and play around then you might find my earlier post on this topic useful

Check out: How to setup ReportPortal on a local docker instance

Once you have setup Report portal, and have started pushing some test runs into it, you would want to get more detail about the test execution. …


Image for post
Image for post

Hi there, friend 👋,

Have you come across occasions where you feel like you don’t know enough about something and that people are going to catch you in your act of ignorance or find out that you are a fake or an imposter?

If you feel this way sometimes, Turns out that you are not at all alone. This is a very common phenomenon faced by humans in different industries though more common in tech and is called Imposter Syndrome

When does this happen

As a tester 🕵️‍♂️

As a tester, you are “supposed” to be the product expert right?. You should be knowing the in’s and out’s of the system and should be able to explain what everything in the system does instantly no? …


How to write comprehensive bug reports to efficiently find and reproduce bugs.

Image for post
Image for post

As a tester/developer, once you find a bug in the system under test, the logical step is to either fix it (if it’s really that small 😉) or to write a bug in the bug tracking system of your choice. This allows yourself or your colleagues to take a look and fix the issue.

A well written bug report is an unsung saviour that saves all involved stakeholders from a possible headache-inducing ordeal.

TL;DR: If you are looking for a bug report template to follow in your projects, here’s one I came up with, after being inspired by other testers and a few open-source projects. …


Hi there, I recently became aware of an amazing debugging feature in Jetbrains IDE’s that has made my debugging workflows so much easier and fast. They are called as Conditional breakpoints

Why not a simple breakpoint?

Often while developing tests you might want the debugger to pause only when a specific condition happens.

We know we can always put a breakpoint on any line or function call and run our test in debug mode and then use the debugger to step into/step over etc till we reach the point where we want to debug from.

However many times, this can become tedious quite quickly if you have many rows of data in your data-driven test as you need to press continue till you reach the row/record which are you interested in. …

About

Gaurav Singh

Lead SDET at Gojek, Bengaluru, I ❤️ to code in Kotlin, Python 🐍, and Java to build scalable test automation frameworks. Blog at automationhacks.io 🇮🇳

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