API Process
Last updated
Last updated
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.
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.
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
Step-1 : Click on Edit Test Suite
Step-2 : Enter Test Suite Name and Description
Step-3 : Click on update
Step-1 : Click on Delete Test Suite
Step-2 : Click on Yes
Step-1 : Select the Import from Existing APIs option.
Step-2 : Select the necessary API's to be imported.
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.
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.
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.
This Flows enable you to sequence test scripts and establish connections between them to model complex API processes.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
​
​