Request
"Request" is one of Testfully's core concepts. A Request is a group of user-defined instructions for Testfully to send one HTTP request.
The user-defined instructions include HTTP Method, Url, Headers, and Payload. Testfully takes it further and allows users to provide instructions for validation of Response Code, Time, Headers, and Body as well.
Features
Feature | Description | Status |
---|---|---|
Restful APIs | Send requests to Restful APIs | Available |
GraphQL | Send requests to GraphQL servers | Available |
XML & Soap | Work with XML & Soap APIs | Available |
Authorization | Authorize your request using one of standard authorization schemes | Available |
Variables | Embed globals, environment variables, and folder variables in request | Available |
Headers | Add one or more headers to request | Available |
Query Params | Add one or more query params to the request URL | Available |
Route Params | Add one or more route params to the request URL | Available |
Testing | Validate response time, code, response body and headers without coding | Available |
Proxy | Send requests via a Proxy Server | Available |
Actions | Automate repetitive tasks using Actions | Available |
Documentation | Human-readable documentation for request | Available |
Folder Runner | Run all of the requests within a fodler with one click | Available |
Import/Export | Import & Export requests | Available |
Request Chaining | Connect multiple requests into one scenario | Available |
SSL Ceritificate Verification | Disable or enable SSL verification for a request | Available |
Timeout | Set timeout for a request | Available |
Before Request Scripts | Run Javascript code before a request is sent | Available |
After Response Scripts | Run Javascript code after response is received | Available |
Download Response | Download response | Coming Soon |
Save Response | Permanently store response to your requests | Coming Soon |
WebSocket | Connect to web socket servers and send & receive messages | Coming Soon |
gRPC | Connect to gRPC servers and send & receive messages | Coming Soon |
Query Params
Use the Params tab to add query params to your request. To add a query param to all of the requests in a folder, you can use the Params tab in the folder settings. Testfully will automatically add all of the query params to the request URL before sending it.
You can use variables to dynamically load the values of query params. For example, you could add {{API_KEY}}
to your request to load the value of a variable called API_KEY
.
Route Params
Route Params are used to define parts of the URL that change dynamically. For example, in the URL /users/:id
, :id
is a route param that can be replaced with a specific value. Testfully automatically inspects the URL and extracts the route params from it, adding them to the Params tab. Similar to query params, you can use variables to dynamically load the values of route params. Remember, a route param must be defined in the URL with a colon (:
) before it.
Send body data
Most of the time, body data is used with PUT, POST, and PATCH requests. You can specify the data you want to send with a request in the Body tab, which supports different types of body data.
Testfully will select None by default for body data. If you don't need to send a body with your request, keep it selected; otherwise, click on it and choose the data type you want for your request body from the dropdown list: JSON, XML, GraphQL, form data, URL-encoded, text, HTML, YAML, JavaScript, or raw.
After entering the body data, click Send to send the request.
You should know!
You can use Global Values
or Environment Variables
in your body data, and Testfully will automatically fill in their current values when sending the request.
JSON
You can use JSON body data to send data in JSON format. In the Body tab of your request, select None and use the dropdown list to select JSON
.
Testfully will provide syntax highlighting and add the necessary headers to your request.
To beautify your XML or JSON, press Alt+Shift+F.
XML
For XML data, select None and use the dropdown list to select XML
in the Body section. Enter your XML formatted data, and Testfully will add the appropriate Content-Type
header (application/xml
).
GraphQL
You can send GraphQL queries by selecting None and using the dropdown list to select GraphQL
in the Body section. Enter your query in the Query pane and any variables in the GraphQL Variables pane.
Form data
You can send data to APIs as multipart/form-data
in Testfully using the form-data
option in the Body tab of your request. Select it by clicking None and then selecting form-data
from the dropdown list. You can send key-value pairs and specify the content type using form data.
To attach a file using form data and send it with your request, follow these steps:
- Select File from the dropdown list next to a key name.
- Choose the file you want to send from your local system.
- Testfully will save the file path in the request.
URL-encoded
The encoding used for URL parameters is also used for URL-encoded data. In the Body tab of your request, select None, then from the dropdown list, select x-www-form-urlencoded
if your API requires URL-encoded data. Testfully will encode the key-value pairs you enter to send with the request before sending it.
Text
You can send plain text by selecting None and using the dropdown list to select Text
in the Body section. Enter your text, and Testfully will handle it appropriately.
HTML
To send HTML data, select None and use the dropdown list to select HTML
in the Body section. Enter your HTML code, and Testfully will add the appropriate Content-Type
header (text/html
).
YAML
For YAML data, select None and use the dropdown list to select YAML
in the Body section. Enter your YAML formatted data, and Testfully will handle it accordingly.
JavaScript
To send JavaScript code, select None and use the dropdown list to select JavaScript
in the Body section. Enter your JavaScript code, and Testfully will add the appropriate Content-Type
header (application/javascript
).
Raw
If you need to send raw data that doesn't fit into the predefined categories, select None and use the dropdown list to select Raw
in the Body section. Enter your data, and specify the content type as needed.
Request Chaining
Request Chaining is one of Testfully's unique features. It enables our users to chain multiple requests together and send them serially. Combined with request validation, Request Chaining enables our customers to implement sophisticated functional and non-functional tests for their API that can be used for API testing & API monitoring. Learn more
You should know!
When chaining multiple requests (also called step), you can extract values from the request & response of one step and include them in other steps.
SSL Verification
Testfully verifies SSL certificates by default with the option to disable this feature explicitly when needed.
To disable SSL verification:
- Open a request
- Click on the Settings tab
- Select "Do Not Verify Certificate" as the value of the "Certificate Verification" field.
Timeout
Testfully sets a default timeout of 30 seconds for all requests. You can change this value by following the steps below:
- Open a request
- Click on the Settings tab
- Enter a new value for the "Request Timeout" field.
Alternatively, you can set a global timeout value for multiple requests via a parent folder or an environment.
Embeding Variables
To embed a variable (environment variables, global values, folder variables), please use the {{variable_name}}
format. For example, you could add {{API_URL}}
to your request to load the value of a variable called API_URL
.
Use-cases
You can create requests via the API client UI, and use them to test your API endpoints manually. Moreover, the same requests can be used for API testing (including request chaining), and API monitoring.