How does Testfully verify your API automatically?

How does Testfully verify your API automatically?



Introduction


Validation (sometimes called assertion or checks) is one of the core concepts of any testing tool. When it comes to validation of your API, Testfully verifies behaviour of each step within tests independently. Moreover, we support validation for the following aspects of APIs:

  • Response Code
  • Response Time
  • Response Body
  • Response Headers



1. Response Code


This optional validator is one you should probably set for all of the steps of a test case. Using it you can set what you expect as the “HTTP Response Code”. Testfully makes sure that the actual response code is exactly what you have defined as the expected one otherwise the test fails.

The example below shows a test case with a single “Response Code” validator. Here we expect to receive the “200 OK” code in response.

Set response code validation for your API test



2. Response Time


This optional validator is suitable for measuring the performance of your API and making sure that users get the response within the expected time frame. To configure this validator, simply provide the expected response time in milliseconds. Testfully compares the actual response time with the expected one and fails if the actual response time is greater than the expected one.

The example below shows how response time is configured for a test case to be 1200 milliseconds.

Set response time validation for your API test



3. Response Body


This optional validator is suitable to match the response against a provided JSON object. Testfully tries to match the provided fields in “Response Body” against the actual values in response and the test fails if at least one of the defined fields in “Response Body” section is missing or has a value that does not match the provided value.

The example below shows a valid JSON object in “Response Body” field. We’re expecting that:

  1. Response from API comes with a field called “success” and the field MSUT have “true” as value.
  2. Response from API comes with a field called “workspaceId” and the field value MUST be “928031722”.

Validate response body of a request

What would happen if API responds with the mentioned fields and some other fields, you might wondering? Well, Testfully simply ignores those fields and assumes those fields don’t exist at all.

A couple of things about “Response Body” you should probably know:

  1. The test fails as soon as one of the response body validations fail.
  2. Response Body only supports valid JSON data.
  3. Nesting is fully supported, you can even include arrays.



4. Response Headers


Response Headers validator is identical to Response Body, albeit it does the validation against the Response Headers.

The example below shows how we define “Content-Type” header field and corresponding “application/json” value as the expected header in response. This example contains only two headers but you can add as many as headers you want.

Validate response headers of a request

A couple of things about “Response Headers” you should probably know:

  1. The test fails as soon as one of the response header validations fail.
  2. Response Header only supports valid JSON data.
  3. Nesting is not supported.

Recent Articles

blog-image
Top 7 Free & Paid mock API tools (2022 Review)

Sometimes called a fake API, A Mock API is when you build an API that returns the desired data. Still, it is not your actual API, and it all has been simulated for some use cases. This article covers best free & paid mock API tools in the market.




blog-image
Top 10 GraphQL clients

GraphQL is one of the hottest topics in the API development world, and that’s for good reasons: GraphQL APIs address many of the issues that we had with Restful and SOAP APIs. This article goes through the Top 10 GraphQL clients you can use today to develop and use GraphQL API.




blog-image
Why your Website is giving an HTTP 405 Method Not Allowed message and how to fix it

When a response has the status code 405, the client attempted to access a resource using an HTTP method that is not permitted by the server for that resource. Websites, Restful APIs, and web applications tend to return this error. This article provides a more detailed explanation of this status code’s meaning and how to handle it in your applications.