Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Open source

batch( requests )

Batch multiple HTTP requests together, to issue them in parallel over multiple TCP connections.

ParameterTypeDescription
requestsarrayAn array containing requests, in string or object form
params (optional)objectAdditional parameters for all requests in the batch

Returns

TypeDescription
arrayAn array containing Response objects.

Example

JavaScript
import { Httpx, Get } from 'https://jslib.k6.io/httpx/0.1.0/index.js';
import { describe } from 'https://jslib.k6.io/expect/0.0.4/index.js';

const session = new Httpx({ baseURL: 'https://test-api.k6.io' });

export default function () {
  describe('01. Fetch public crocodiles all at once', (t) => {
    const responses = session.batch(
      [
        new Get('/public/crocodiles/1/'),
        new Get('/public/crocodiles/2/'),
        new Get('/public/crocodiles/3/'),
        new Get('/public/crocodiles/4/'),
      ],
      {
        tags: { name: 'PublicCrocs' },
      }
    );

    responses.forEach((response) => {
      t.expect(response.status)
        .as('response status')
        .toEqual(200)
        .and(response)
        .toHaveValidJson()
        .and(response.json('age'))
        .as('croc age')
        .toBeGreaterThan(7);
    });
  });
}