getAllCookies
获取所有浏览器cookie。
语法
cy.getAllCookies()
cy.getAllCookies(options)
用法
正确用法
cy.getAllCookies() // 获取所有cookie
参数
options (Object)
传入一个选项对象来改变cy.getAllCookies()
的默认行为。
选项 | 默认值 | 描述 |
---|---|---|
log | true | 在命令日志中显示该命令 |
timeout | responseTimeout | 等待cy.getAllCookies() 解析的超时时间,超过则超时 |
生成结果
cy.getAllCookies()
返回一个cookie对象数组。每个cookie对象具有以下属性:
domain
: (String)expiry
: (Number) (如果指定)hostOnly
: (Boolean) (如果指定)httpOnly
: (Boolean)name
: (String)path
: (String)sameSite
: (String) (如果指定)secure
: (Boolean)value
: (String)
cy.getAllCookies()
不是查询命令。如果在初始执行后添加了更多cookie,它不会更新返回的列表。
示例
获取Cookie
登录后获取cookie
在此示例中,我们通过身份提供程序登录,该程序设置一个cookie并重定向回我们的站点,站点再设 置一个会话cookie。
cy.contains('Log in').click()
cy.origin('https://example.cypress.io', () => {
cy.get('[type=password]').type('*****')
cy.contains('Log in').click()
})
cy.url().should('include', 'profile')
cy.getAllCookies()
.should('have.length', 2)
.then((cookies) => {
expect(cookies[0]).to.have.property('name', 'identity_session_id')
expect(cookies[1]).to.have.property('name', 'session_id')
})
规则
要求
cy.getAllCookies()
需要链式调用cy
。
断言
cy.getAllCookies()
只会运行一次链式断言,不会重试