Menu

This is documentation for the next version of K6. For the latest stable release, go to the latest 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);
    });
  });
}