addCookies()
将 Cookie 列表添加到浏览器上下文。此浏览器上下文中的所有页面都将设置这些Cookie。
注意
如果未提供Cookie 的
url
属性,则必须指定domain
和path
属性。
返回值
类型 | 描述 |
---|---|
Promise<void> | 一个 Promise,当Cookie 已添加到浏览器上下文时,该 Promise 将 fulfilled。 |
示例
import { browser } from 'k6/browser';
export const options = {
scenarios: {
browser: {
executor: 'shared-iterations',
options: {
browser: {
type: 'chromium',
},
},
},
},
};
export default async function () {
const context = await browser.newContext();
const page = await context.newPage();
try {
const unixTimeSinceEpoch = Math.round(new Date() / 1000);
const day = 60 * 60 * 24;
const dayAfter = unixTimeSinceEpoch + day;
const dayBefore = unixTimeSinceEpoch - day;
await context.addCookies([
// this cookie expires at the end of the session
{
name: 'testcookie',
value: '1',
sameSite: 'Strict',
domain: 'httpbin.org',
path: '/',
httpOnly: true,
secure: true,
},
// this cookie expires in a day
{
name: 'testcookie2',
value: '2',
sameSite: 'Lax',
domain: 'httpbin.org',
path: '/',
expires: dayAfter,
},
// this cookie expires in the past, so it will be removed.
{
name: 'testcookie3',
value: '3',
sameSite: 'Lax',
domain: 'httpbin.org',
path: '/',
expires: dayBefore,
},
]);
const response = await page.goto('https://httpbin.org/cookies', {
waitUntil: 'networkidle',
});
console.log(response.json());
// prints:
// {"cookies":{"testcookie":"1","testcookie2":"2"}}
} finally {
await page.close();
}
}