This is documentation for the next version of K6. For the latest stable release, go to the latest version.
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.
Parameter | Type | Description |
---|---|---|
urls | array | A string array of URLs to filter the cookies in the browser context. |
Returns
Type | Description |
---|---|
Promise<Array<Cookie>> | A Promise that fulfills with an array of cookies. |
Note
Cookies can be added with BrowserContext.addCookies.
Example
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();
}
}