作用

清除指定名称的 Cookie

前言重点知识

  • Cypress 会在每次测试前自动清除所有 Cookie,以防止在测试用例之间共享状态
  • 除非在测试用例中需要调用此命令清除某个 Cookie,否则不需要使用该命令

语法格式

  1. cy.clearCookie(name)
  2. cy.clearCookie(name, options)

name 必传

options 参数

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

正确用法

  1. // 清除 token 这个 Cookie
  2. cy.clearCookie('token')

命令返回结果

  • 返回 null
  • 重点:该命令后面不能再链接其他命令

实际栗子

代码

  1. describe('clearCookie() 命令详解', function () {
  2. beforeEach(() => {
  3. cy.visit('https://example.cypress.io/commands/cookies')
  4. })
  5. it('栗子一', () => {
  6. // 执行测试用例, 暂无 Cookie
  7. cy.getCookie('token')
  8. .should('be.null')
  9. // 获取 Cookie
  10. cy.get('#clearCookie .set-a-cookie').click()
  11. cy.getCookie('token')
  12. .should('have.property', 'value', '123ABC')
  13. // 清除 Cookie
  14. cy.clearCookie('token')
  15. cy.getCookie('token')
  16. .should('be.null')
  17. })
  18. it('栗子二', () => {
  19. // 测试用例之间 Cookie 不会共享
  20. cy.getCookie('token')
  21. .should('be.null')
  22. })
  23. })

可以使用 .should(‘be.null’) 判断某 Cookie 是空的

运行结果

Cypress系列(81)- clearCookie() 命令详解 - 图1

clearCookie 返回结果

Cypress系列(81)- clearCookie() 命令详解 - 图2

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