Params is an object used by the http.* methods that generate HTTP requests. Params contains request-specific options like e.g. HTTP headers that should be inserted into the request.
Name | Type | Description |
---|---|---|
Params.auth | string | The authentication method used for the request. It currently supports digest, ntlm, and basic authentication methods. |
Params.cookies | object | Object with key-value pairs representing request scoped cookies (they won't be added to VU cookie jar) {cookies: { key: "val", key2: "val2" }} You also have the option to say that a request scoped cookie should override a cookie in the VU cookie jar: {cookies: { key: { value: "val", replace: true }}} |
Params.headers | object | Object with key-value pairs representing custom HTTP headers the user would like to add to the request. |
Params.jar | object | http.CookieJar object to override default VU cookie jar with. Cookies added to request will be sourced from this jar and cookies set by server will be added to this jar. |
Params.redirects | number | The number of redirects to follow for this request. Overrides the global test option maxRedirects. |
Params.tags | object | Key-value pairs where the keys are names of tags and the values are tag values. Response time metrics generated as a result of the request will have these tags added to them, allowing the user to filter out those results specifically, when looking at results data. |
Params.timeout | string / number | Maximum time to wait for the request to complete. Default timeout is 60 seconds ("60s"). The type can also be a number, in which case k6 interprets it as milliseconds, e.g., 60000 is equivalent to "60s". |
Params.compression | string | Sets whether the request body should be compressed. If set to gzip it will use gzip to compress the body and set the appropriate Content-Length and Content-Encoding headers. Possible values: gzip, deflate, br, zstd, and any comma-separated combination of them (for stacked compression) |
Params.responseType | string | ResponseType is used to specify how to treat the body of the response. The three options are: - text: k6 will return it as a string. This might not be what you want in cases of binary data as the conversation to UTF-16 will probably break it. This is also the default if discardResponseBodies is set to false or not set at all. - binary: k6 will return an ArrayBuffer object - none: k6 will return null as the body. The whole body will be ignored. This is the default when discardResponseBodies is set to true. |
Params.responseCallback | expectedStatuses | sets a responseCallback only for this request. For performance reasons it's better to initialize it once and reference it for each time the same callback will need to be used |
Example of custom HTTP headers and tags
A k6 script that will make an HTTP request with a custom HTTP header and tag results data with a specific tag
Example using http.batch() with Params
Here is another example using http.batch() with a Params argument:
Example of Digest Authentication
Here is one example of how to use the Params to Digest Authentication.