作用

获取所有 Cookie,返回一个 Cookie 对象数组

语法格式

  1. cy.getCookies()
  2. cy.getCookies(options)

options 参数

  • log:是否将命令显示到命令日志中,默认 true
  • timeout:命令超时时间

正确用法

  1. cy.getCookies()

命令返回结果

返回一个 Cookie 对象组成的数组,每个 Cookie 对象都包含以下属性

  • domain
  • expiry (如果有)
  • httpOnly
  • name
  • path
  • sameSite (如果有)
  • secure
  • value

实际栗子

栗子一:直接访问网站

代码

Cypress系列(79)- getCookies() 命令详解 - 图1
可以用 .each() 来遍历 Cookie 对象数组

运行结果

Cypress系列(79)- getCookies() 命令详解 - 图2

getCookies 返回结果

Cypress系列(79)- getCookies() 命令详解 - 图3
Cookie 对象数组

栗子二:简单登录页面

代码

  1. //<reference types="cypress" /R>
  2. describe('getCookies 登录页面', function () {
  3. const username = 'jane.lane'
  4. const password = 'password123'
  5. before(function () {
  6. // 登录操作
  7. cy.visit("http://localhost:7079/login")
  8. cy.get("input[name=username]").type(username)
  9. cy.get("input[name=password]").type(password)
  10. cy.get("form").submit()
  11. })
  12. it('获取登录后的 cookie', function () {
  13. cy.getCookies()
  14. .should('exist')
  15. .should('have.length', 1)
  16. .each((cookie) => {
  17. // 循环遍历每个 Cookie 对象
  18. cy.log(cookie)
  19. })
  20. .then((cookies) => {
  21. // 打印 Cookie 对象数组
  22. cy.log(cookies)
  23. })
  24. })
  25. })

运行结果

Cypress系列(79)- getCookies() 命令详解 - 图4

https://www.cnblogs.com/poloyy/p/14014705.html