zoukankan      html  css  js  c++  java
  • Cypress系列(78)- getCookie() 命令详解

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

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

    作用

    获取指定名称的 Cookie

    语法格式

    cy.getCookie(name)
    cy.getCookie(name, options)

    name 必传 

    options 参数

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

    正确用法

    // 获取 token 这个 Cookie
    cy.getCookie('token')

    命令返回结果

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

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

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

    实际栗子

    栗子一:直接访问网站

    代码

    • 可以用 .should(exist) 判断 cookie 对象是否存在
    • 也可以用 .should('have.property') 判断这个 cookie 对象的某个属性是否包含指定的值
    • 最后用 .then() 暂存 cookie 对象,以便后续扩展使用

    运行结果

    getCookie 返回结果

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

    栗子二:简单登录页面

    代码

    //<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)
                })
        })
    })

    运行结果

  • 相关阅读:
    运维面试题之系统运维
    运维面试题之linux编程
    运维面试题之linux基础
    运维面试题之网络
    python 查找日志关键字
    python 数组中数字求和是否为零
    python 时间戳和时间格式互相转换
    Appium环境搭建说明(包括报错处理)
    python操作上级子文件
    去除ufeff的解决方法,python语言
  • 原文地址:https://www.cnblogs.com/poloyy/p/14015090.html
Copyright © 2011-2022 走看看