EXPLORE FEATURES

HttpMaster project
Store complete definition of request items (e.g. API calls) and other project data in one single place
Broad set of HTTP properties
Define HTTP headers, URL encoding, and more to customize and fine-tune HTTP requests
Parameters
Simulate variations of input data or create global values for reuse across multiple API calls
Response data validation
Create validations (is valid JSON/XML, body matches value/regex, response time range, etc.) and use them in logical expressions
Request chaining
Define request chaining to use data from previous request (response body, URL, header value, etc.) with the next request
Extensive data upload support
Upload request data of various content types, including 'multipart/form-data'
Request data builder
Parse existing HTML content to create request body and parameters for testing website forms
Authentication and authorization
Specify credentials or obtain authorization from third-party authentication providers
Request item execution
Execute selected request items with detailed progress monitoring and tools for pausing, cancelling, and more
Execution groups and conditional execution
Add request items to the execution group and optionally specify conditional execution of contained request items
Comprehensive data review
View complete execution data with pretty data viewers and further manage response data (save to a file, PDF export, etc.)
Additional tools
Use basic request tool for ad hoc execution of HTTP requests or utilize command line interface for HttpMaster project automation
Import OpenAPI data
Import OpenAPI (Swagger) data to create HttpMaster project for your REST API
Prepare Curl commands
Prepare Curl commands from project request items

HttpMaster project

When working with HttpMaster, you will most of the time manage HttpMaster project properties and properties of the request items contained inside the project. Project properties offer global options to customize internet requests that will be executed; changes to this properties affect all project request items.
HttpMaster project can be saved to disk as a file with 'hmpr' extension for later reuse. Project file is stored internally in XML format.
HttpMaster project

Broad set of HTTP properties

HttpMaster project contains a lot of options which can be used to fine-tune generated HTTP requests. These include request encoding, global URL and query string, global HTTP request headers, and couple of advanced properties like URL encoding and ability to completely disable execution data storing which can be useful if you want executions to be completed as fast as possible without collecting any data.
Broad set of HTTP properties

Parameters

In project properties you can also define parameters of different data types and different generation types. Parameters enable you to include dynamic data with the request items; this can be useful to generate multiple requests based on the parameter data or to create global reusable values.
All defined parameters can be used with request item properties, for example, with URL of the request item.
Parameters

Response data validation

By default HttpMaster validates each executed request with default system validation. Default system validation monitors returned HTTP status codes and determines execution result according to this status code. However, you can define custom validations in project properties and then use this project validations to define custom validation logical expression for each request item. There are different types of custom validations available; majority of them perform some validation on the response body.
Response data validation

Request chaining

HttpMaster project enables you to define chaining items of different types which can then be used in request items to include some data from the previous request with the next request. You can use these project chaining items in request item properties, for example, inside request item URL. This will dynamically insert data from the previous request in places where chaining is used. In such a way, you can create a chain of requests where each request will use some data from the previous request.
Request chaining

Extensive data upload support

Various data properties can be specified when creating request item, including HTTP method, URL address, and more. HttpMaster also has a rich support for data upload; it enables you to post plain text data, contents of particular file, or multipart form data which can include mix of plain text data and disk files. Request body data for upload can also be automatically built from an existing HTML content obtained from some internet address (URL) or disk file.
Extensive data upload support

Request data builder

If you have to test particular website with various options of input data, you can build request body from an existing HTML content obtained from URL or disk file. HttpMaster will detect all HTML input elements inside FORM tags and will display them in the list where you will be able to include them in the request body. For all HTML elements with multiple options (for example, radio buttons or SELECT elements), HttpMaster will obtain all possible values from HTML content and will enable you to automatically create multi-value parameter with obtained data values.
Request data builder

Authentication and authorization

A lot of web applications require some kind of authentication from their users. HttpMaster allows you to add credentials to requests or to obtain authorization from third-party authentication provider when accessing external web applications. You can utilize support for classic OAuth workflow to obtain authorization code and access token and use them as global variables during the subsequent execution of request items.
Authentication and authorization

Request item execution

HttpMaster offers powerful execution capabilities and allows you to execute only opened request item, only selected request items, or all project request items. It is also possible to create execution groups and execute only request items that are part of the particular execution group.
During the execution process you can monitor executions progress and status of each request item. HttpMaster also allows complete execution data to be saved to external file with 'hmex' extension. You can reopen this file anytime later to review execution data.
Request item execution

Execution groups and conditional execution

Selecting the same set of request items for execution again and again can become a tedious and time-consuming tasks. If you have to execute the same request items many times, try execution groups. Execution groups are powerful feature for simplified execution of multiple request items and allow you to specify custom execution order for every request item contained in the group.
Execution groups also support conditional execution of request items based on the execution result of some other request item in the same group. For example, you can specify to execute certain request item only if some other request item was successfully executed.
Execution groups

Comprehensive data review

Once the execution of particular request item is completed, you can open and view its execution results. Various execution data is available for review, including HTTP headers, cookies, response data, size, duration, etc.
HttpMaster also features several pretty viewers for user-friendly display of response data, including XML, JSON, HTML, CSS, and more. Majority of pretty viewers support code folding for expanding/collapsing selected code sections.
Response data can be further manipulated, for example, export response body to an external file, search data for particular phrase, create PDF report, and more.
Comprehensive data review

Additional tools

HttpMaster also offers some additional tools, for example, ad hoc HTTP request tool. If you need to quickly execute a simple HTTP request, creating project and request item might not be the best option. In such situations, you can use this ad hoc request tool which also supports complete execution data review and management.
You can also utilize command line interface to automate execution of HttpMaster projects. Command line execution results are stored in special files which can be opened in HttpMaster for complete execution data review.
Additional tools

Import OpenAPI data

If you are working on a REST API and you have created OpenAPI (Swagger) data for it, you can import this definition and HttpMaster project with corresponding request items will be created automatically. In such a way, you don't need to create project and request items from scratch; creating new project could be a laborious task, especially if your REST API defines a lot of endpoints. Simply import your OpenAPI file and save some time.
Import OpenAPI data

Prepare Curl commands

If you would like to generate requests only without executing them in HttpMaster, you can prepare Curl commands from project request items and execute them with Command Prompt, PowerShell, or any other command-line tool. There are plenty of options available in HttpMaster to customize prepared Curl commands.
Curl export