如果想从头学起Cypress,可以看下面的系列文章哦
https://www.cnblogs.com/poloyy/category/1768839.html
作用
清除指定名称的 Cookie
前言重点知识
- Cypress 会在每次测试前自动清除所有 Cookie,以防止在测试用例之间共享状态
- 除非在测试用例中需要调用此命令清除某个 Cookie,否则不需要使用该命令
语法格式
cy.clearCookie(name)
cy.clearCookie(name, options)
name 必传
options 参数
- log:是否将命令显示到命令日志中,默认 true
- timeout:命令超时时间
正确用法
// 清除 token 这个 Cookie
cy.clearCookie('token')
命令返回结果
- 返回 null
- 重点:该命令后面不能再链接其他命令
实际栗子
代码
describe('clearCookie() 命令详解', function () {
beforeEach(() => {
cy.visit('https://example.cypress.io/commands/cookies')
})
it('栗子一', () => {
// 执行测试用例, 暂无 Cookie
cy.getCookie('token')
.should('be.null')
// 获取 Cookie
cy.get('#clearCookie .set-a-cookie').click()
cy.getCookie('token')
.should('have.property', 'value', '123ABC')
// 清除 Cookie
cy.clearCookie('token')
cy.getCookie('token')
.should('be.null')
})
it('栗子二', () => {
// 测试用例之间 Cookie 不会共享
cy.getCookie('token')
.should('be.null')
})
})
可以使用 .should('be.null') 判断某 Cookie 是空的
运行结果
![](https://i-blog.csdnimg.cn/blog_migrate/cc04871e9f517da237c4dbbf1fead2e0.png)
clearCookie 返回结果
![](https://i-blog.csdnimg.cn/blog_migrate/2cd12ada494fecced46dfa14d6d788dd.png)