Skip to content

Commit bd9a63b

Browse files
inancgumuska3de
authored andcommitted
Add cookies
1 parent c3ab501 commit bd9a63b

File tree

2 files changed

+95
-14
lines changed

2 files changed

+95
-14
lines changed

src/data/markdown/docs/02 javascript api/07 k6-experimental/01 browser/02 BrowserContext.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@ The [browser module API](/javascript-api/k6-experimental/browser#browser-module-
1010
If a [page](/javascript-api/k6-experimental/browser/page/) opens another page, e.g. with a `window.open` call, the popup will belong to the parent page's `BrowserContext`.
1111

1212

13-
| Method | Description |
14-
|-------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|
15-
| [BrowserContext.addCookies()](/javascript-api/k6-experimental/browser/browsercontext/addcookies/) | Adds cookies into the `BrowserContext`. |
16-
| [BrowserContext.clearCookies()](/javascript-api/k6-experimental/browser/browsercontext/clearcookies/) <BWIPT id="442"/> | Clear the `BrowserContext`'s cookies. |
17-
| [BrowserContext.clearPermissions()](/javascript-api/k6-experimental/browser/browsercontext/clearpermissions) <BWIPT id="443"/> | Clears all permission overrides for the `BrowserContext`. |
18-
| [BrowserContext.close()](/javascript-api/k6-experimental/browser/browsercontext/close) | Close the `BrowserContext` and all its [page](/javascript-api/k6-experimental/browser/page/)s. |
19-
| [BrowserContext.grantPermissions(permissions[, options])](/javascript-api/k6-experimental/browser/browsercontext/grantpermissions) | Grants specified permissions to the `BrowserContext`. |
20-
| [BrowserContext.newPage()](/javascript-api/k6-experimental/browser/browsercontext/newpage) | Uses the `BrowserContext` to create a new [Page](/javascript-api/k6-experimental/browser/page/) and returns it. |
21-
| [BrowserContext.pages()](/javascript-api/k6-experimental/browser/browsercontext/pages) <BWIPT id="444"/> | Returns a list of [page](/javascript-api/k6-experimental/browser/page/)s that belongs to the `BrowserContext`. |
22-
| [BrowserContext.setDefaultNavigationTimeout(timeout)](/javascript-api/k6-experimental/browser/browsercontext/setdefaultnavigationtimeout) <BWIPT id="445"/> | Sets the default navigation timeout in milliseconds. |
23-
| [BrowserContext.setDefaultTimeout(timeout)](/javascript-api/k6-experimental/browser/browsercontext/setdefaulttimeout) <BWIPT id="456"/> | Sets the default maximum timeout for all methods accepting a timeout option in milliseconds. |
24-
| [BrowserContext.setGeolocation(geolocation)](/javascript-api/k6-experimental/browser/browsercontext/setgeolocation) <BWIPT id="435"/> | Sets the `BrowserContext`'s geolocation. |
25-
| [BrowserContext.setOffline(offline)](/javascript-api/k6-experimental/browser/browsercontext/setoffline) | Toggles the `BrowserContext`'s connectivity on/off. |
26-
| [BrowserContext.waitForEvent(event[, optionsOrPredicate])](/javascript-api/k6-experimental/browser/browsercontext/waitforevent) <BWIPT id="447"/> | Waits for the event to fire and passes its value into the predicate function. |
13+
| Method | Description |
14+
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
15+
| [BrowserContext.addCookies()](/javascript-api/k6-experimental/browser/browsercontext/addcookies/) | Adds cookies into the `BrowserContext`. |
16+
| [BrowserContext.clearCookies()](/javascript-api/k6-experimental/browser/browsercontext/clearcookies/) <BWIPT id="442"/> | Clear the `BrowserContext`'s [cookies](/javascript-api/k6-experimental/browser/browsercontext/cookie). |
17+
| [BrowserContext.clearPermissions()](/javascript-api/k6-experimental/browser/browsercontext/clearpermissions) <BWIPT id="443"/> | Clears all permission overrides for the `BrowserContext`. |
18+
| [BrowserContext.cookies()](/javascript-api/k6-experimental/browser/browsercontext/cookies) | Returns a list of [cookies](/javascript-api/k6-experimental/browser/browsercontext/cookie) from the `BrowserContext`. |
19+
| [BrowserContext.close()](/javascript-api/k6-experimental/browser/browsercontext/close) | Close the `BrowserContext` and all its [page](/javascript-api/k6-experimental/browser/page/)s. |
20+
| [BrowserContext.grantPermissions(permissions[, options])](/javascript-api/k6-experimental/browser/browsercontext/grantpermissions) | Grants specified permissions to the `BrowserContext`. |
21+
| [BrowserContext.newPage()](/javascript-api/k6-experimental/browser/browsercontext/newpage) | Uses the `BrowserContext` to create a new [Page](/javascript-api/k6-experimental/browser/page/) and returns it. |
22+
| [BrowserContext.pages()](/javascript-api/k6-experimental/browser/browsercontext/pages) <BWIPT id="444"/> | Returns a list of [page](/javascript-api/k6-experimental/browser/page/)s that belongs to the `BrowserContext`. |
23+
| [BrowserContext.setDefaultNavigationTimeout(timeout)](/javascript-api/k6-experimental/browser/browsercontext/setdefaultnavigationtimeout) <BWIPT id="445"/> | Sets the default navigation timeout in milliseconds. |
24+
| [BrowserContext.setDefaultTimeout(timeout)](/javascript-api/k6-experimental/browser/browsercontext/setdefaulttimeout) <BWIPT id="456"/> | Sets the default maximum timeout for all methods accepting a timeout option in milliseconds. |
25+
| [BrowserContext.setGeolocation(geolocation)](/javascript-api/k6-experimental/browser/browsercontext/setgeolocation) <BWIPT id="435"/> | Sets the `BrowserContext`'s geolocation. |
26+
| [BrowserContext.setOffline(offline)](/javascript-api/k6-experimental/browser/browsercontext/setoffline) | Toggles the `BrowserContext`'s connectivity on/off. |
27+
| [BrowserContext.waitForEvent(event[, optionsOrPredicate])](/javascript-api/k6-experimental/browser/browsercontext/waitforevent) <BWIPT id="447"/> | Waits for the event to fire and passes its value into the predicate function. |
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
title: 'cookies([urls])'
3+
excerpt: 'Retrieves context cookies.'
4+
---
5+
6+
Returns a list of [cookies](/javascript-api/k6-experimental/browser/browsercontext/cookie) from the [BrowserContext](/javascript-api/k6-experimental/browser/browsercontext) filtered by the provided `urls`. If no `urls` are provided, all cookies are returned.
7+
8+
| Parameter | Type | Description |
9+
|----------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
10+
| urls | array | A string array of URLs to filter the [cookies](/javascript-api/k6-experimental/browser/browsercontext/cookie). |
11+
12+
### Returns
13+
14+
| Type | Description |
15+
| ---- | ----------- |
16+
| array | A list of [cookies](/javascript-api/k6-experimental/browser/browsercontext/cookie). |
17+
18+
<Blockquote mod="info">
19+
20+
[Cookies](/javascript-api/k6-experimental/browser/browsercontext/cookie) can be added with [BrowserContext.addCookies](/javascript-api/k6-experimental/browser/browsercontext/addcookies/).
21+
22+
</Blockquote>
23+
24+
### Example
25+
26+
<CodeGroup labels={[]}>
27+
28+
```javascript
29+
import { browser } from 'k6/experimental/browser';
30+
31+
export const options = {
32+
scenarios: {
33+
ui: {
34+
executor: 'shared-iterations',
35+
options: {
36+
browser: {
37+
type: 'chromium',
38+
},
39+
},
40+
},
41+
},
42+
};
43+
44+
export default async function () {
45+
const context = browser.newContext();
46+
const page = context.newPage();
47+
48+
try {
49+
// get cookies from the browser context
50+
let cookies = context.cookies();
51+
console.log("initial cookies length:", cookies.length); // prints 0
52+
53+
// let's add more cookies to filter by urls.
54+
context.addCookies([
55+
{ name: 'foo', value: 'foovalue', sameSite: 'Strict', url: 'http://foo.com' },
56+
{ name: 'bar', value: 'barvalue', sameSite: 'Lax', url: 'https://bar.com' },
57+
{ name: 'baz', value: 'bazvalue', sameSite: 'Lax', url: 'https://baz.com' }
58+
]);
59+
60+
// get all cookies
61+
cookies = context.cookies();
62+
console.log("filtered cookies length:", cookies.length); // prints 3
63+
64+
// get cookies filtered by urls
65+
cookies = context.cookies('http://foo.com', 'https://baz.com');
66+
console.log("filtered cookies length:", cookies.length); // prints 2
67+
68+
// the first filtered cookie
69+
console.log("1st cookie's name :", cookies[0].name); // prints foo
70+
console.log("1st cookie's value:", cookies[0].value); // prints foovalue
71+
// the first filtered cookie
72+
console.log("2nd cookie's name :", cookies[1].name); // prints baz
73+
console.log("2nd cookie's value:", cookies[1].value); // prints bazvalue
74+
} finally {
75+
page.close();
76+
}
77+
}
78+
```
79+
80+
</CodeGroup>

0 commit comments

Comments
 (0)