setCookies
为当前页面设置一个或多个cookie。确保您在应该接收cookie的页面上。您不能在不处于该页面上的情况下为任意页面设置cookie。
用法
browser.setCookies({ name, value, path, domain, secure, httpOnly, expiry, sameSite })
参数
名称 | 类型 | 详情 |
---|---|---|
cookie | Array<WebDriverCookie> , WebDriverCookie | cookie 对象或对象数组。 |
cookie.name 可选 | 字符串 | cookie 的名称。 |
cookie.value 可选 | 字符串 | cookie 值。 |
cookie.path 可选 | 字符串 | cookie 路径。如果在添加 cookie 时省略,则默认为“/”。 |
cookie.domain 可选 | 字符串 | cookie 对其可见的域名。如果在添加 cookie 时省略,则默认为当前浏览上下文活动文档的 URL 域名。 |
cookie.secure 可选 | 布尔值 | cookie 是否为安全 cookie。如果在添加 cookie 时省略,则默认为 false。 |
cookie.httpOnly 可选 | 布尔值 | cookie 是否为 HTTP only cookie。如果在添加 cookie 时省略,则默认为 false。 |
cookie.expiry 可选 | 数字 | cookie 过期时间,以自 Unix 纪元以来的秒数表示。在添加 cookie 时必须不设置如果省略。 |
cookie.sameSite 可选 | 字符串 | cookie 是否应用于 SameSite 策略。如果在添加 cookie 时省略,则默认为 None。可以设置为“Lax”或“Strict”。 |
示例
setCookies.js
it('should set a cookie for the page', async () => {
await browser.url('/')
// set a single cookie
await browser.setCookies({
name: 'test1',
value: 'one'
// The below options are optional
// path: '/foo', // The cookie path. Defaults to "/"
// domain: '.example.com', // The domain the cookie is visible to. Defaults to the current browsing context’s active document’s URL domain
// secure: true, // Whether the cookie is a secure cookie. Defaults to false
// httpOnly: true, // Whether the cookie is an HTTP only cookie. Defaults to false
// expiry: 1551393875 // When the cookie expires, specified in seconds since Unix Epoch
})
// set multiple cookies
await browser.setCookies([
{name: 'test2', value: 'two'},
{name: 'test3', value: 'three'}
])
const cookies = await browser.getCookies()
console.log(cookies);
// outputs:
// [
// {name: 'test1', value: 'one', domain: 'www.example.com'},
// {name: 'test2', value: 'two', domain: 'www.example.com'},
// {name: 'test3', value: 'three', domain: 'www.example.com'}
// ]
});