首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Cypress系列(78)- getCookie() 命令详解

Cypress系列(78)- getCookie() 命令详解

作者头像
小菠萝测试笔记
发布2020-11-23 17:08:01
发布2020-11-23 17:08:01
9710
举报

如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

作用

获取指定名称的 Cookie

语法格式

代码语言:javascript
复制
cy.getCookie(name)
cy.getCookie(name, options)

name 必传

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

正确用法

代码语言:javascript
复制
// 获取 token 这个 Cookie
cy.getCookie('token')

命令返回结果

返回一个 Cookie 对象,并且包含以下属性

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

注意:当找不到指定 Cookie 时,该命令会返回 null

实际栗子

栗子一:直接访问网站

代码
  • 可以用 判断 cookie 对象是否存在

.should(exist)

  • 也可以用 判断这个 cookie 对象的某个属性是否包含指定的值

.should('have.property')

  • 最后用 暂存 cookie 对象,以便后续扩展使用

.then()

运行结果
getCookie 返回结果

一个 cookie 对象一定会包含上面的六个属性

栗子二:简单登录页面

代码
代码语言:javascript
复制
//<reference types="cypress" /R>

describe('getCookie 登录页面', function () {

    const username = 'jane.lane'
    const password = 'password123'

    before(function () {
        // 登录操作
        cy.visit("http://localhost:7079/login")
        cy.get("input[name=username]").type(username)
        cy.get("input[name=password]").type(password)
        cy.get("form").submit()
    })

    it('获取登录后的 cookie', function () {
        cy.getCookie("cypress-session-cookie")
            .should('exist')
            .should('have.property', 'domain', "localhost")
            .then((cookies) => {
                cy.log(cookies)
            })
    })
})
运行结果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作用
  • 语法格式
    • options 参数
  • 正确用法
  • 命令返回结果
  • 实际栗子
    • 栗子一:直接访问网站
      • 代码
      • 运行结果
      • getCookie 返回结果
    • 栗子二:简单登录页面
      • 代码
      • 运行结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档