Creating Asynchronous Automation test using Playwright & pytest

Qxf2 explored an advanced capability with Playwright recently – writing asynchronous tests. Given our admiration for pytest we picked the Playwright-pytest plugin for our research. While we were impressed with the pytest integration, we noticed the official and community documentation only featured synchronous examples using pytest. This post will hopefully bridge this gap. We figured working on fitting pytest with […]

Use pytest to run Great Expectations checkpoints

At Qxf2, we’ve successfully integrated Great Expectations into majority of our projects. We now have GitHub workflows in place to run Great Expectations checkpoints before deploying our applications to production. However, as our test suite expanded, we encountered a few challenges: 1. Triggering valid checkpoints. 2. Aggregating checkpoint results. To address these issues, we turned to pytest. In this post, […]

Allure integration with pytest

Recently, I was on the lookout for a good open-source reporting tool other than the ReportPortal tool which we already integrated with pytest in the past. As a result, I came across a tool called Allure. When I started integrating allure with pytest, I stumbled upon a couple of errors as there was no straightforward guide to do so. Therefore, […]

Writing end to end test for microservices based architecture used for posting skype messages

Recently, I have attempted to test microservices based architecture where the AWS Lambda function consumes messages from a microservices endpoint and posts them to the skype channel. I have made an attempt to add most of the validations for the flow. I have included this end-to-end test in the below blog. Background: The above architecture explains, microservices based architecture which […]

Pytest, argparse.ArgumentError and the -V: conflicting option

The CI tests for our open sourced framework suddenly started failing with: argparse.ArgumentError: argument -V/–ver: conflicting option string: -V. Pytest was clearly telling us that the -V option was being used elsewhere. But it was not clear about where the ‘used elsewhere’ was located. Further, while we knew what the error meant but could not understand why the error would […]