At Qxf2, we have used various static code analysis tools such as Codacy, SonarQube, and others to ensure code quality across projects. This post is about SonarQube, a powerful tool that allows teams to maintain clean code by identifying potential issues and enforcing coding standards. Typically, when we introduce a static code analysis tool at our clients, we end up […]
How to configure SonarQube effectively?
Designing Scalable Tests for Feature Flags
Feature flags introduce a layer of dynamic behavior in applications, enabling toggled changes without redeployment. While they empower development and experimentation, they also bring unique challenges to testing. Designing tests around feature flags requires recognizing that one size does not fit all—different scenarios demand different strategies. In this post, we explore a range of approaches to help maintain adaptable, and […]
Improving Data Quality: Oversampling to Address Imbalanced Dataset
The importance of data quality in model training cannot be overstated. A high-quality, well-balanced dataset is the foundation upon which effective models are built. Without it, even the most sophisticated algorithms can produce unreliable or biased predictions. Before jumping into testing a model, it is crucial for data scientists and testers alike to have a clear understanding of the data […]
Creating a custom pytest plugin for better failure summary
Our pytest failure summary until recently showed only Assertion errors when there was a failure. Even though we printed active logs displaying the failed steps on the console and in the log file, we realized that a more useful failure summary would greatly assist in investigating the error and speeding up our possible future actions. This is how the failure […]
Update BrowserStack session with test run status
At Qxf2, we’ve been using BrowserStack for a long time and have also integrated it with our automation framework. We noticed that there aren’t many guides on how to upload logs to BrowserStack and update the test run status in a BrowserStack session. In our previous post, we explained how to upload test logs to a BrowserStack session. Now, in […]
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 […]
Update LambdaTest test session with test run status
In this post, we will show you how to update the test run status on LambdaTest. Although there are many articles online about integrating LambdaTest for running automation tests, most of them do not discuss how to update the test run status and importance of it. This post is a follow up to running test automation on LambdaTest using pytest. […]
Upload test terminal logs to BrowserStack
Qxf2 engineers have used BrowserStack for many years. We added it to our testing framework too. When we check test failures, we use the video from BrowserStack. But seeing the log messages from our framework also helps. Developers find it easier to fix problems when they can see the logs. We noticed that adding this feature made developers more likely […]
Run automation tests on LambdaTest using pytest
Qxf2 has been using popular cross-browser tools like BrowserStack and Sauce Labs for long. Recently, we integrated the LambdaTest tool also with our Page Object Model Framework. So we thought to write about it. In this post, we will guide you through the process of running automation tests on LambdaTest using pytest. We will cover everything from setting up your […]
Asynchronous API Automation testing using Qxf2’s Framework
You can now create asynchronous API automation test using Qxf2’s API Automation Framework. In this post we will go about explaining: – Why we need Async? – How we modified our Synchronous framework to support Asynchronous HTTP calls – How to create an Async API Automation test using our framework – Cases where Async is not the right fit Note: […]