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.
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.
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.
Import from Swagger JSON or WSDL Link
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
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
Parameterized Case
API Process Parameterized Case
Last updated