EXPLORE CORE FEATURES
        
		
			Store definition of request items in a project
		
		
			
Separate request data between project and its request items
		
 
		
			
Store project file to disk
		
 
		
			
Define global project data to use it with request items
		
 
		
			When working with HttpMaster, you will most of the time manage project properties and properties of the request items contained inside the project. Project properties offer global options to customize HTTP requests that will be executed; changes to this properties affect all project request items. Project can be saved to disk as a file with 'hmpr' extension and is stored internally in XML format.
		
        
		
		
		
			Define various HTTP data to customize requests
		
		
			
Define global HTTP headers
		
 
		
			
Create global URL data for different environments
		
 
		
			
Manage URL encoding, HTTP redirect, request encoding, timeouts, and more
		
 
		
			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.
		
        
		
		
		
		
			Create parameters of various types
		
		
			
Define multi-value parameters to simulate variations of input data
		
 
		
			
Create parameters with global values for reuse
		
 
		
			
Obtain parameter values from disk files
		
 
		
			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.
		
        
		
		
		
		
			Validate response data
		
		
			
Create global project validations of various types for reuse
		
 
		
			
Combine validations in advanced logical expressions
		
 
		
			
Control execution according to the validation outcome
		
 
		
			By default each executed request is validated 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 of the response body.
		
        
		
		
		
			Define chaining to use data from the previous request
		
		
			
Create global project chaining items of various types for reuse
		
 
		
			
Use chaining items in request item properties to create batches of chained requests
		
 
		
			
Obtain data from the previous request with JSONPATH, XPATH, or regular expression
		
 
		
			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.
		
        
		
		
		
			Upload request data of various content types
		
		
			
Post HTML form, including files.
		
 
		
			
Send JSON, XML, or text data.
		
 
		
			
Upload any disk file as binary array.
		
 
		
			HttpMaster also has a rich support for data upload available; it enables you to post text data (JSON, XML, etc.), binary data of particular file, or multipart form data which can include mix of text data items 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.
		
        
		
		
		
			Parse existing HTML content to create request body
		
		
			
Obtain HTML data from disk or URL
		
 
		
			
Build HTML form submit, JSON object, or XML document
		
 
		
			
Create project parameters for selected data elements
		
 
		
			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.
		
        
		
		
		
			Specify credentials or obtain authorization data
		
		
			
Specify credentials data for common HTTP authentication schemes
		
 
		
			
Obtain authorization data with OAuth
		
 
		
			
Utilize special global variables to use obtained authorization data during the execution 
		
 
		
			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.
		
        
		
		
		
			Execute selected request items
		
		
			
Execute selected request items under different environments
		
 
		
			
Perform standard or plain execution according to your needs
		
 
		
			
Store complete execution data to disk
		
 
		
			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.
		
        
		
		
		
		
			Manage execution groups and conditional execution
		
		
			
Create execution groups for advanced execution scenarios
		
 
		
			
Define conditional execution of request items inside the group
		
 
		
			
Execute groups inside the application or with the command line interface
		
 
		
			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.
		
        
		
		
		
		
			View and manage complete execution data
		
		
			
Inspect complete execution data, including headers, cookies, response body, and more
		
 
		
			
View response data with several pretty viewers
		
 
		
			
Create PDF report, export response body, or prepare JSON/XML file with execution results
		
 
		
			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.
		
        
		
		
		
			Utilize additional tools
		
		
			
Use basic request tool for ad hoc HTTP requests
		
 
		
			
Automate project execution with command line interface
		
 
		
			
Leverage graphical wizard to quickly build CLI commands
		
 
		
			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. Additionally, you can utilize command line interface to automate execution of projects. Command line execution results are stored in special files which can be opened in HttpMaster for complete execution data review.
		
        
		
		
		
		
			Import and use OpenAPI data
		
		
			
Use OpenAPI data to create project for your REST API
		
 
		
			
Update existing project with new or changed OpenAPI operations
		
 
		
			
Customize options for creating projects from 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.
		
        
		
		
		
		
			Prepare and execute Curl commands
		
		
			
Create Curl commands from project request items
		
 
		
			
Copy created commands or execute them
		
 
		
			
Customize extensive set of options for creating Curl commands
		
 
		
			If you would like to generate requests without executing them immediately, you can prepare 
Curl commands from project request items and execute them with Command Prompt, PowerShell, or any other command-line tool. There are also plenty of options available to customize prepared Curl commands.