Book Image

Writing API Tests with Karate

By : Benjamin Bischoff
Book Image

Writing API Tests with Karate

By: Benjamin Bischoff

Overview of this book

Software in recent years is moving away from centralized systems and monoliths to smaller, scalable components that communicate with each other through APIs. Testing these communication interfaces is becoming increasingly important to ensure the security, performance, and extensibility of the software. A powerful tool to achieve safe and robust applications is Karate, an easy-to-use, and powerful software testing framework. In this book, you’ll work with different modules of karate to get tailored solutions for modern test challenges. You’ll be exploring interface testing, UI testing as well as performance testing. By the end of this book, you’ll be able to use the Karate framework in your software development lifecycle to make your APIs and applications robust and trustworthy.
Table of Contents (15 chapters)
1
Part 1:Karate Basics
7
Part 2:Advanced Karate Functionalities

Making requests with payloads

So far, we have only worked with the responses. But what about making requests that include payloads such as POST, PUT, and PATCH? Let’s look at another part of the JSONPlaceholder API that allows us to do just that.

A non-persistent mock API

It is important to know that the JSONPlaceholder API is non-persistent. That means that its underlying data is not changed regardless of our requests to create or modify data. It merely simulates that new data is created by delivering the appropriate response as a real API would. This makes it perfect for testing.

In the user guide, we can see that the /posts endpoint supports the POST operation to create a new post for a specific user.

According to the documentation, a request body to send to the endpoint should look like this:

{
    title: 'foo',
    body: 'bar',
    userId: 1,
}

The return value is supposed...