The response object contains all the information about the HTTP response:
import http from 'k6/http';import { check } from 'k6';export default function() { let res = http.get('https://quickpizza.grafana.com/api/menu'); // Status code console.log('Status:', res.status); // Response body as string console.log('Body:', res.body); // Parse JSON response let menu = res.json(); console.log('Items:', menu.items.length); // Access specific JSON field let firstItem = res.json('items.0.name'); // Response headers console.log('Content-Type:', res.headers['Content-Type']); // Timing information console.log('Duration:', res.timings.duration, 'ms'); console.log('Waiting:', res.timings.waiting, 'ms'); console.log('Connecting:', res.timings.connecting, 'ms');}
k6 automatically handles cookies with a VU-scoped cookie jar:
import http from 'k6/http';import { check } from 'k6';export default function() { // VU cookie jar automatically manages cookies let res = http.get('http://httpbin.org/cookies/set?name=value'); // Access VU cookie jar let jar = http.cookieJar(); let cookies = jar.cookiesForURL(res.url); check(null, { 'has cookie': () => cookies.name !== undefined, }); // Create local cookie jar let localJar = new http.CookieJar(); localJar.set('http://httpbin.org/cookies', 'custom', 'value123'); http.get('http://httpbin.org/cookies', { jar: localJar });}