Menu
Open source

cookies([urls])

Returns a list of cookies from the browser context filtered by the provided urls. If no urls are provided, all cookies are returned.

ParameterTypeDescription
urlsarrayA string array of URLs to filter the cookies in the browser context.

Returns

TypeDescription
Promise<Array<Cookie>>A Promise that fulfills with an array of cookies.

Note

Cookies can be added with BrowserContext.addCookies.

Example

JavaScript
import { browser } from 'k6/browser';

export const options = {
  scenarios: {
    ui: {
      executor: 'shared-iterations',
      options: {
        browser: {
          type: 'chromium',
        },
      },
    },
  },
};

export default async function () {
  const context = await browser.newContext();
  const page = await context.newPage();

  try {
    // get cookies from the browser context
    let cookies = await context.cookies();
    console.log('initial cookies length:', cookies.length); // prints 0

    // let's add more cookies to filter by urls
    await context.addCookies([
      { name: 'foo', value: 'foovalue', sameSite: 'Strict', url: 'http://foo.com' },
      { name: 'bar', value: 'barvalue', sameSite: 'Lax', url: 'https://bar.com' },
      { name: 'baz', value: 'bazvalue', sameSite: 'Lax', url: 'https://baz.com' },
    ]);

    // get all cookies
    cookies = await context.cookies();
    console.log('filtered cookies length:', cookies.length); // prints 3

    // get cookies filtered by urls
    cookies = await context.cookies('http://foo.com', 'https://baz.com');
    console.log('filtered cookies length:', cookies.length); // prints 2

    // the first filtered cookie
    console.log("1st cookie's name :", cookies[0].name); // prints foo
    console.log("1st cookie's value:", cookies[0].value); // prints foovalue
    // the first filtered cookie
    console.log("2nd cookie's name :", cookies[1].name); // prints baz
    console.log("2nd cookie's value:", cookies[1].value); // prints bazvalue
  } finally {
    await page.close();
  }
}