Creating a Test

Creating a New Test #

Click on that big green "New Test" button to get started.

You should see a form like this for creating your new test:

What do all of these fields mean? Glad you asked…

Test Name #

This one is for you: give your test a name so you can find it later. Or leave it blank and the test's URL will be used as the name. This can be changed later.

Test Type #

Loader.io supports three types of tests: Clients per test, Clients per second, and Maintain client load. The test types are discussed in more detail in  test types.

Clients & Duration #

These are the main settings for your test: how many connections should we make, and how long should the test run?
Specifying the number of clients depends on the test type.
  • Clients per test: there is just one field: "Connections". Whatever number you enter here is the number of connections that will be made to your server over the duration of the test
  • Clients per second: there is just one field: "Connections". Whatever number you enter here is the number of connections that will be made to your server per second
  • Maintain client load: there is a "from" and a "to" field. The test starts with some number of connections ("from") and can increase the connections throughout the test, reaching the number in the "to" field by the end of the test.
The duration field means the same in both cases: the amount of time to run the test, in seconds.

Notes & Tags #

The notes and tag fields are for you: write a description of the test, server configuration, or whatever you want. Add a tag to help you organize your tests. We don't look at these fields, we just save 'em for you :)

Advanced Settings #

To customize the error threshold, timeout values, or add  basic authentication to your test, click the "Advanced settings" button to expand these options.

Authentication #

Loader.io supports HTTP   basic access authentication. If you need this, select "Basic authentication" from the dropdown and enter your username and password.

Be careful with this!! Authentication details are stored unencrypted on our servers, because if we encrypted them, we wouldn't be able to use them during the test. We recommend creating a test user for use with loader.io if you need to test against an authenticated server.

Timeout & Error (%) #

The timeout field allows you to specify the amount of time to wait for data. If a client does not receive any data for the configured timeout period, it is counted as a timeout. The default is 10 seconds.
The error field is an error threshold for the test. If your app reaches the error percentage threshold, the test will be automatically aborted.

URLs & Options #

At the most basic level, all you need to do with the URL field is enter the URL you want to test. The default is to do a simple HTTP GET request to that URL. Click on the respective button to add headers, GET/POST parameters, a  payload file, raw body, or response variables:

  • HTTP Headers: if your app needs special HTTP headers to be sent, you can specify them here. The header name (e.g. Content-Type) goes in the left box, and the value (e.g. application/json) in the right box. Click the "+" button to add more.

  • Request Parameters: You can add key/value pairs in these input boxes, and they will be URL-encoded and added to the query string of your URL if the request type is GET or DELETE, or URL-encoded and added to the request body for POST, PUT, or PATCH requests

  • Payload File: You can use a specially-formatted JSON file to pass varying data on each request. Craft your payload file, put it at a public URL, and enter that URL in the box labeled "Payload file URL", within the "Parameters" section. When you run the test, loader.io will download the file, parse it, and use the data in the request body. See payload files for more details on the format.

  • Raw Body: If you are POSTing, PUTing, or PATCHing data that is not URL-encoded (e.g. json or other formats), use the "Raw Body" input. Don't forget to add a "Content-Type" header if needed.

  • Response Variables: You can define variables that are associated with HTTP response header fields, and use these variables in other URLs and options. See variables for more details on how to use variables in your tests.