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

 

運行結果

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM