API Process

API Process Testing involves creating a chain of API’s and passing the response of one API as a request to the next one, running them together and viewing the results of the entire flow.

Contents

Introduction to API Process

The term API Process encapsulates the end-to-end sequence of steps involved in connecting, testing, and validating the functionality and performance of interconnected APIs. This process often includes configuring connection parameters, crafting test scenarios, executing API requests, analyzing responses, and generating relevant reports.

  1. Functional Testing in API Process: During the API process, functional testing ensures that the interconnected APIs correctly exchange data, execute operations, and respond appropriately to various requests.

  2. Performance Testing in API Process: In the context of the API process, performance testing aims to verify that the interconnected APIs can handle a realistic workload without compromising performance.

Project Creation

Click here for instructions on how to Create Project

Test Suite Creation

Creating a New Test Suite

To create a new Test Suite in API Process, follow these steps:

Step-1 : Click on Create Test Suite

Step-2 : Enter Test Suite Name and Description

Step-3 : Click on Create Test Suite

NOTE:

  • The Test Name can have only letters, numbers, and underscores.

  • Module name should not exceed 225 characters


Editing a Test Suite

Step-1 : Click on Edit Test Suite

Step-2 : Enter Test Suite Name and Description

Step-3 : Click on update


Deleting a Test Suite

Step-1 : Click on Delete Test Suite

Step-2 : Click on Yes


Test Suite Creation

Import From Exisiting APIs

Step-1 : Select the Import from Existing APIs option.

Step-2 : Select the necessary API's to be imported.


Import from Swagger JSON or WSDL File

Step-1 : Select Import from Swagger JSON or WSDL File .

Step-2 : Click on upload.

Step-3 : Select the necessary API's to be imported.


Step 1 : Click on Import from Swagger JSON or WSDL Link option.

Step 2 : Enter the swagger JSON or WSDL Link.

Step 3 : Click on GetAPI's.

Step 4 : Select the necessary API's to be imported.


Import from Postman Collection

Step-1 : Select the Import from Postman Collection option.

Step-2 : Upload your Postman Collection file using the provided upload functionality.

Step-3 : Select the necessary API's to be imported.


Manage APIs

Step-1 : Navigate to the Manage API's

Step-2 : Locate the API you want to edit and click on it to open its details.

Step-3 : Look for the Edit Option.

Step-4 : Make the necessary changes to the API details, such as endpoint URLs, headers, and parameters.

Step-5 : After making all necessary edits, save the changes.

Step-6 : Similarly, find the API you want to delete and select it.

Step-7 : Look for the "Delete" option and confirm your decision.



Assertions in Manage API

Click Here for instructions on how to perform Assertions in Manage API's.


Create Flow

Old Flow

Create Flow Guide

This Flows enable you to sequence test scripts and establish connections between them to model complex API processes.

Adding APIs to the Old Flow

Step-1 : Select the Existing API to be added the flow.

Step-2 : On the top we have toggle to switch between new flow and old flow by default it is old flow

Step-3 : select the API's to added to the canvas


Saving Connections

Step-1 : After adding the API's to the canvas then click on Add Connection will help to configure the connection.

Step-2 : Choose the target API's that the current API's needs to connect.

Step-3 : Click Save to save the configuration.


Establishing Connection Configuration

Step-1 : Once connections are saved, navigate to the next page in the flow creation process.

Step-2 : Here, you'll see the list of connections you've created.

Step-3 : Click on a connection to configure its behavior:

  • Set up the conditions for the connection to activate.

  • Define parameter type to pass from one API to another.

  • Linking APIs involves using extracted data from one API's response to enhance another API's request.

  • This is achieved by specifying parameter types (query, path, header, request body, or request key) and their corresponding JSON paths.

  • Query Parameter: Extract data from the first API response using JSON path and pass it as a query parameter in the second API call.

  • Path Parameter: Replace part of the second API's URL path with data extracted from the first API using JSON path.

  • Header Parameter: Take data from the first API response and use it as a header in the second API request.

  • Request Body: Utilize the entire JSON object extracted from the first API response as the request body in the second API call.

  • Request Key: Authenticate both APIs using a token extracted from the first API's response, ensuring secure communication.

    Path Extraction

    Click Here for instructions on how to perform Assertions in Manage API's.


New Flow

Adding APIs to the New Flow

Step-1 : we will have to rebuild the test in case you choose to switch to new experience

Step-2 : Select confirm to enter new flow

Step-3 : Select the API's to added to the canvas.


Saving New Connections

Step-1 : Drag and drop and API's to the canvas.

Step-2 : Choose the target API's that the current API's needs to connect.

Step-3 : Click Save to save the configuration.


Establishing New Connection Configuration

Step-1: Click on a connection to configure its behavior:

  • Set up the conditions for the connection to activate.

  • Define parameter type to pass from one API to another.

  • We do support multiple parameter type like query,path,request body,request key.

  • By default it will be none.

  • JSON path is represented as "$json" same syntax to be followed for entering jsonpath.

Execute API Flow

Execute as Functional Test

Step-1 : After updating the connection configuration the click on run icon.

Step-2 : In the dropdown menu select the enivronment.

Step-3 : In the dropdown menu labeled Run As, choose Functional.

Step-4 : Click on the Execute Test button.

Step-5 : It will be navigated to reports page.


Execute as Performance Test

Step-1 : After updating the connection configuration the click on run icon.

Step-2 : In the dropdown menu select the enivronment.

Step-3 : In the dropdown menu labeled Run As, choose Performance.

Step-4 : select number of threads.

Step-5 : select Thresold response time.

Step-6 : Click on the "Execute Test" button.

step-7 : It will be navigated to reports page.

Reports

Functional Reports

Below is an explanation of the data fields present in the functional test report

Field
Description

Status

The execution status of the test case (e.g., Pass, Fail).

Body_Assertion

Assertion status for body content validation.

DataHandler

Data handling information or transformations applied.

StatusCode

The HTTP status code returned by the API endpoint.

url

The URL of the API endpoint that was tested.

TestCase_Name

The name or identifier of the test case.

jsonPath_Assertion

Assertion status for JSONPath validations.

Header_Assertion

Assertion status for header content validation.

ResponseTime

The time taken for the API request and response.

Response_Body

The response body received from the API endpoint.

MethodName

The HTTP method used in the API request (e.g., GET, POST).

Response_Headers

The headers included in the API response.


Performance Reports

In the performance test report, you will find three key graphs that provide insights into the performance of the API flow under different thread loads.

Response Time of API Flow vs. Thread Number

This graph illustrates the relationship between the response time of the API flow and the number of concurrent threads. It helps you understand how the system's performance changes as the thread load increases. A higher thread count may result in increased response times, indicating potential performance bottlenecks.


Response Time per API vs. Thread Number

In this graph, you can see the response time of individual APIs within the flow plotted against the number of threads. This allows you to pinpoint APIs that might experience performance degradation under heavy loads. Identifying APIs with rising response times can help in optimizing their performance.


Status Code per API vs. Thread Number

The third graph showcases the distribution of status codes (e.g., 200 OK, 500 Internal Server Error) for each API across varying thread numbers. Analyzing this graph can provide insights into how the system responds to different thread loads. Unusual patterns, such as an increase in error codes, can indicate issues affecting specific APIs.


Advanced Features for API Process

Report Actions

Report Actions

Parameterized Case

API Process Parameterized Case


Quick Go through of API Process

Last updated