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

FeatureDescriptionStatus
Restful APIsSend requests to Restful APIs
Available
GraphQLSend requests to GraphQL servers
Available
XML & SoapWork with XML & Soap APIs
Available
AuthorizationAuthorize your request using one of standard authorization schemes
Available
VariablesEmbed globals, environment variables, and folder variables in request
Available
HeadersAdd one or more headers to request
Available
Query ParamsAdd one or more query params to the request URL
Available
Route ParamsAdd one or more route params to the request URL
Available
TestingValidate response time, code, response body and headers without coding
Available
ProxySend requests via a Proxy Server
Available
ActionsAutomate repetitive tasks using Actions
Available
DocumentationHuman-readable documentation for request
Available
Folder RunnerRun all of the requests within a fodler with one click
Available
Import/ExportImport & Export requests
Available
Request ChainingConnect multiple requests into one scenario
Available
SSL Ceritificate VerificationDisable or enable SSL verification for a request
Available
TimeoutSet timeout for a request
Available
Before Request ScriptsRun Javascript code before a request is sent
Available
After Response ScriptsRun Javascript code after response is received
Available
Download ResponseDownload response
Coming Soon
Save ResponsePermanently store response to your requests
Coming Soon
WebSocketConnect to web socket servers and send & receive messages
Coming Soon
gRPCConnect 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:

  1. Select File from the dropdown list next to a key name.
  2. Choose the file you want to send from your local system.
  3. 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:

  1. Open a request
  2. Click on the Settings tab
  3. 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:

  1. Open a request
  2. Click on the Settings tab
  3. 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.