Is this you? As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.
Claim your profile
Articles by Faisal Khatri
Global Setup in Playwright TypeScript for API Testing
If you need to generate prerequisite test data, such as adding dummy records through an API, before executing your test suite, using Global Setup in Playwright is a clean, maintainable, and scalable approach. It ensures all required data is prepared upfront, keeping your test execution structured and reliable. What Is Global Setup? The Global Setup in Playwright runs once before the entire test suite begins execution.
How to Test PUT, PATCH, and DELETE API Requests Using Playwright TypeScript
API testing is the practice of verifying that an API behaves as expected. In Agile environments, teams often perform it early in the SDLC as part of shift-left testing, enabling faster feedback and helping them identify and fix defects early. Playwright is a modern test automation framework that’s popular among testers and developers. Built by Microsoft, it makes it easy to automate both web and API testing across multiple programming languages, all within a single tool.
Builder Pattern + Faker in API Test Automation Using Playwright With TypeScript
Ever felt stuck writing Playwright tests because of messy or hardcoded test data? It usually starts simple, but as your tests grow, like testing an e-commerce or finance-related application, managing realistic data quickly becomes confusing and repetitive. More time is spent fixing test data than actually testing. That’s where the Builder Pattern, combined with Faker, can really help. It lets us create clean, flexible, and realistic test data with ease.
How to Test POST API Requests With Playwright TypeScript
Testing POST API requests is an important skill for modern QA and automation engineers working with backend services and microservices. In this article, we’ll explore how to test POST API requests with Playwright and TypeScript, focusing on sending a request body using different approaches.
How to Verify Response Data in API Testing With Playwright TypeScript
One of the most important parts of API test automation is validating the response body to ensure data integrity. This step plays a key role in functional API testing, as it helps confirm that the API is returning the right data in the expected format. Response body validation isn’t limited to a specific request type; it applies equally to POST, GET, PUT, and PATCH APIs. The same validation approach can be used for any API response to verify the data returned by the service.
How to Build an AI Agent to Generate Selenium WebDriver Tests in Java: A Practical Guide for Test Automation Engineers
Artificial intelligence is transforming software testing by enabling faster test creation, smarter execution, and more efficient quality assurance processes. With AI agents, we can generate test cases and scripts, run tests, and produce detailed reports with minimal manual effort. AI agents are software systems that leverage artificial intelligence to achieve goals and perform tasks on behalf of users.
How to Perform Response Verification in REST-Assured Java for API Testing: Part 2
API testing is an essential part of modern software development. While sending requests and receiving responses is straightforward, the real value of API automation comes from response verification. A test is meaningful only when it validates that the API returns the correct data, structure, status codes, and business rules. In Java-based API automation, REST Assured combined with Hamcrest Matchers provides a clean and expressive way to verify API responses.
How to Test GET API Requests With Playwright TypeScript
Playwright is a widely used open-source test automation framework developed by Microsoft. It allows developers and test automation engineers to reliably automate web applications across multiple browsers and platforms. Playwright supports several popular programming languages, such as JavaScript, TypeScript, Java, C#, and Python. One of its standout features is built-in API automation testing, which gives it a strong advantage over many traditional web automation frameworks.
Build Your Own Local AI QA Engineer With Docker, Ollama, LibreChat, and Playwright MCP
Artificial intelligence is rapidly transforming software testing by enabling QA engineers to generate test cases and test plans, automate browser interactions, analyze and debug failures, and execute complex testing workflows using simple natural-language prompts. While cloud-based AI assistants offer impressive capabilities, they often require subscriptions and sharing potentially sensitive application data with third-party services.
REST-Assured Configuration and Specifications: Writing Maintainable API Tests
When working on API automation projects, one of the first things that becomes repetitive is configuring the same settings for every test. The base URL, content type, request logging, and common response validations often appear in multiple test classes. As the number of tests increases, maintaining these repeated configurations becomes difficult. REST Assured provides specifications to solve this problem.
How to Test a DELETE API Request With REST-Assured Java
API testing has become increasingly popular in recent times. Since it doesn’t involve a UI, it is generally faster and easier to execute. This makes API testing a preferred choice for validating end-to-end system functionality. Additionally, integrating automated API tests into CI/CD pipelines enables teams to receive quicker feedback on their builds. In this tutorial, we will explore DELETE API requests and learn how to handle them with Rest-Assured in Java for automated testing.
How to Test a PATCH API Request With REST-Assured Java
Testing is an essential step in the API development process to ensure that APIs are working correctly. There are multiple HTTP methods in RESTful APIs, including POST, GET, PUT, PATCH, and DELETE. In our earlier articles, we learned how to perform automated testing of POST, PUT, and GET APIs using Rest-Assured Java. In this tutorial article, we will discuss and cover the following points: What is a PATCH API request? How to test PATCH API requests using REST-Assured Java? What Is a PATCH API Request?
How to Test PUT API Request Using REST-Assured Java
PUT requests are typically used for updating an existing resource. This means replacing the current data for the target resource with the data sent in the API request body. Just like POST requests, the content-type header is important because it tells the server how to interpret the data we’re sending. When successful, a PUT request usually returns a 200 OK status along with the updated resource in the response.
How to Test a GET API Request Using REST-Assured Java
Testing GET requests is a fundamental part of API automation, ensuring that endpoints return the expected data and status codes. With REST Assured in Java, sending GET requests with query and path parameters, extracting data, verifying the status code, and validating the response body is quite simple.
Data-Driven API Testing in Java With REST Assured and TestNG: Part 5
In the previous articles, we discussed how to perform data-driven API automation testing with different approaches, including object arrays, iterators, CSV files, and JSON files. An Excel file can also be used to perform data-driven API testing. It allows testers to store multiple test data in one place, where we can easily add, update, or remove test cases without changing the automation code.
Data Driven API Testing in Java With REST Assured and TestNG: Part 4
APIs are at the heart of almost every application, and even small issues can have a big impact. Data-driven API testing with JSON files using REST Assured and TestNG makes it easier to validate multiple scenarios without rewriting the same tests again and again. By separating test logic from test data, we can build cleaner, flexible, and more scalable automation suites.
Data-Driven API Testing in Java With REST Assured and TestNG: Part 3
Data-driven testing enables testers to execute the same test logic with multiple sets of input data, improving coverage and reliability with minimal effort. By combining CSV files with TestNG’s @DataProviderannotation, test data can be easily separated from the test logic. This approach enables maintainability and makes test automation more scalable and flexible. This article explains how to implement data-driven testing with CSV files and TestNG in a clear, practical, and easy-to-follow manner.
Data-Driven API Testing in Java With REST Assured and TestNG: Part 2
In the previous article, we explored how to implement data-driven testing using Object arrays and TestNG’s @DataProvider annotation. While this approach works well for small to medium-sized datasets, it is not ideal for handling large volumes of data. To address this limitation, TestNG also supports the use of Iterators, which provide a more efficient way to manage large and dynamic datasets.
Data Driven API Testing in Java with Rest-Assured and TestNG
Data-driven testing, also known as parameterized testing, is a technique that uses a data table to drive test execution by defining inputs, expected outputs, and test environment settings. It separates test data from test logic. Rather than creating multiple test cases for different input values, a single test case is executed repeatedly using different data sets. The TestNG framework provides the @DataProvider annotation, which supplies data sets to tests.
Response Verification in REST-Assured Java for API Testing
One of the core factors in API test automation is verifying the response body for data integrity. It is a crucial step in the functional validation of the API to confirm that it is returning the correct data as desired. This verification of the response body can be of a POST, GET, PUT, or PATCH API request. The same logic can be applied to any API response for verifying the data returned by the API. There are multiple ways to verify the response body using REST-Assured.
The Importance of Critical Thinking in Software Testing
Join the DZone community and get the full member experience. Join For Free When we start questioning the purpose of the application, its design, or the acceptance criteria in the user stories, we’re already engaged in critical thinking. It provides more value by testing an application by evolving and uncovering various functional, non-functional, and domain-specific scenarios.
Test POST Requests With Rest-Assured Java for API Testing II
In the previous article, we learnt the basics, setup, and configuration of the REST Assured framework for API test automation. We also learnt to test a POST request with REST Assured by sending the request body as: String JSON Array/ JSON Object Using Java Collections Using POJO In this tutorial article, we will learn the following: How to use JSON files as a request body for API testing. Implement the Builder Design Pattern in Java to create request data dynamically.
Test POST Requests With REST Assured Java for API Testing
REST Assured is a popular API test automation framework in Java. Software teams widely use it for efficiently validating RESTful web services with minimal setup. It simplifies the process of sending requests, verifying responses, and handling JSON or XML paåyloads. With its rich syntax and integration support for tools like TestNG and Maven, REST Assured enables robust, maintainable, and scalable API testing.
What Is End-to-End Testing?
Being a part of the software team, you would have heard about end-to-end or E2E testing. The testing team ideally prefers to have a round of end-to-end testing to ensure the functional working of the application. Every software application should undergo end-to-end testing to ensure it functions as specified. This testing approach builds confidence in the system and helps development teams determine whether the software is ready for production deployment.
What Is API Testing?
APIs are the buzzword of the software industry these days. They power most modern applications and allow seamless communication between different systems, services, and platforms. From booking a cab to making online payments, APIs silently work in the background to connect everything. They not only save development time but also enhance scalability, flexibility, and innovation for businesses. In short, APIs act as the backbone of the digital ecosystem we rely on every day.
Selenium Grid 4 Testing With Jenkins and Docker Compose
Selenium WebDriver, Selenium Grid 4, Jenkins, and Docker Compose are popular and well-known tools. When combined, these tools are a powerful combination for web automation testing. The combination of these tools can help us set up an on-demand local infrastructure, enabling us to spin up the environment as needed for running our web automation tests at scale.
How to Set Up Selenium Grid 4 With Docker Compose
Selenium WebDriver is a popular web automation tool. It automates browsers and enables software teams to perform web automation testing across multiple popular browsers, including Google Chrome, Mozilla Firefox, Microsoft Edge, and Safari. To scale this testing across different platforms and browser versions, Selenium Grid 4 can be utilized.
How to Configure a Jenkins Job for a Maven Project
Join the DZone community and get the full member experience. Join For Free Jenkins is a widely used automation server that plays a big role in modern software development. It helps teams streamline their continuous integration and continuous delivery (CI/CD) processes by automating tasks like building, testing, and deploying applications. One of the key strengths of Jenkins is its flexibility.
How to Add a Jenkins Agent With Docker Compose
In the previous article on installing Jenkins with Docker Compose, we learned how to install and set up Jenkins using Docker Compose. It is now time to learn how to add a Jenkins agent using Docker Compose. With the installation of Jenkins using Docker Compose, we are familiar with Docker Compose and its related file contents. Before we talk about adding the Jenkins agent using Docker Compose, let’s first understand what Jenkins agents are and what they are used for. What Is a Jenkins Agent?
How to Install and Set Up Jenkins With Docker Compose
Jenkins is an open-source CI/CD tool written in Java that is used for organising the CI/CD pipelines. Currently, at the time of writing this blog, it has 24k stars and 9.1k forks on GitHub. With over 2000 plugin support, Jenkins is a well-known tool in the DevOps world.
Selenium Pagination Tutorial: How to Handle Page Navigation
As websites are becoming an integral part of the business, they must have a good UI that provides the best user experience and loads the content quickly. Websites can be categorized into two types based on the categorisation of their content: paginated and infinite-scrolling websites. The paginated website divides the content of the website into different pages, allowing the user to access all the available content on the different pages of the website one by one seamlessly.
How to Use JavaScriptExecutor in Selenium
Selenium is an open-source suite of tools and libraries that allows you to interact with browsers to perform various operations like sending text, clicking on a button, selecting drop-downs, etc. However, there are scenarios where the actual Selenium WebDriver commands do not work as expected, as Selenium can’t interact with the WebElements directly. This is where JavaScriptExecutor comes into the picture.
A Beginner’s Guide to JUnit 5
JUnit 5 is a software testing framework used by developers to unit test their code. It is a Java-based framework that allows writing and running tests on the Java platform, including an integrated reporter that displays the test results.
Testing PATCH Requests for API Testing With Playwright Java
Automated API testing offers multiple benefits, including speeding up the testing lifecycle and providing faster feedback. It helps in enhancing the efficiency of the APIs and allows teams to deliver the new features speedily to the market. There are multiple tools and frameworks available in the market today that offer automation testing of the APIs, including Postman, Rest Assured, SuperTest, etc.
How to Test PUT Requests for API Testing With Playwright Java
API testing is a process that confirms that the API under test is working as expected. Generally, in Agile teams, due to shift left testing, API testing is performed earlier in the SDLC as it provides major benefits, like faster feedback and allowing the team to fix the bugs early in the phase. There are multiple tools and frameworks available these days that help perform API testing quickly. Playwright is one such test automation framework that has gained a lot of popularity.
What Is a Bug Bash?
What Is a Bug Bash? In software development, a Bug Bash is a procedure where all the developers, testers, program managers, usability researchers, designers, documentation folks, and even sometimes marketing people, put aside their regular day-to-day duties and “pound on the product” — that is, each exercises the product in every way they can think of.
A Five Point Plan to Start Automation Testing
Test automation has become a mandatory requirement in the fast-paced software industry. It helps with quickly testing the functionality, stability, performance, as well as security of the applications. In addition, continuous testing using test automation allows us to deliver good quality applications to the end users.
How to Read JSON Files in Java Using the Google Gson Library
JSON files are commonly used these days for sending data to applications. Be it a web application, an API, or a mobile application, JSON is used by almost every team as it is lightweight and self-describing. Due to its high popularity and wide usage, it is important to understand and know what JSON is, its features, its different data types, file formats, etc. In this blog, we will be learning about JSON, its features, data types, and file formats.
Working With Multiple testng.xml Files
While working on an open source GitHub project that was created to showcase the working of Selenium WebDriver framework with Java, as the project grew, there was a need to create multiple testng.xml files for running different tests. These multiple files were created to segregate the tests and place all the tests related to a respective website in a single testng.xml (I have used different demo websites to demo different actions that can be automated using Selenium WebDriver).
Update Versions: Dependencies in Maven Projects
Join the DZone community and get the full member experience. Join For Free With the passing of time, new versions of the dependencies are released into the market. We need to update the respective dependencies versions in the project as these versions have new changes and fixes for the security vulnerabilities. It is better to update the dependencies frequently in the project.
How To Perform JSON Schema Validation
Have you ever come across a situation in automated API testing where you were not able to identify the issue in the test failure and after debugging for multiple hours, you noticed that the data type of the value supplied in the response of the API had changed. Did you then notice that this was the core reason for the test failure? This type of scenario can generally happen when you have third-party APIs integrated into your application.
Selenium 4 WebDriver Hierarchy: A Detailed Explanation
The inception of Selenium can be traced back to a web application that required frequent testing. This prompted Jason Huggins to create a program using JavaScript, which he named JavaScriptTestRunner and released in 2004. However, he realized that the program was much more powerful and could be helpful to the community in testing; hence, he decided to open-source it and renamed it to Selenium Core.
What Is Continuous Testing?
Testing is a crucial part of the Software Development Lifecycle (SDLC). Testing should be included in every stage of the SDLC to get faster feedback and bake the quality within the product. Test automation can get you excellent results if it is implemented and used in an efficient way and continuous testing is the right approach.
Show More
loading
Actions
Is this you?
As a journalist, you can create a free Muck Rack account to customize your profile, list your contact preferences, and upload a portfolio of your best work.Get in touch with Faisal
Contact Faisal, search articles and posts on X, monitor coverage, and track replies from one place.
Learn more about Muck Rack