cookies([urls])
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.
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
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();
}
}
Was this page helpful?
Related documentation
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
60 min

Performance testing and observability in Grafana Cloud
In this webinar, learn how Grafana Cloud k6 offers you the best developer experience for performance testing.
60 min

User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.