Cypress系列(43)- wait() 命令詳解


如果想從頭學起Cypress,可以看下面的系列文章哦

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

 

作用

等待數毫秒或等待別名資源解析,然后再繼續執行下一個命令

 

語法格式

cy.wait(time)
cy.wait(alias)
cy.wait(aliases)
cy.wait(time, options)
cy.wait(alias, options)
cy.wait(aliases, options)

 

參數講解

 

正確格式

cy.wait(500)
cy.wait('@getProfile')

 

wait() 命令返回的對象

當傳了 time 時

cy.wait() 產生與上一個命令相同的主題

 

當傳了 alias 時

cy.wait() 產生一個對象,其中包含 XHR 的 HTTP 請求和響應屬性

 

等待一個別名的栗子

it.skip('栗子1', function () {
    cy.server()
    cy.route({
        url: '**/login',
        status: 503,
        response: {
            success: false,
            data: 'Not success'
        },
    }).as("login")
    cy.get("input[name=username]").type(username)
    cy.get("input[name=password]").type(`${password}{enter}`)

    // 等待請求的響應
    cy.wait('@login').then((res) => {
        // 針對響應進行斷言
        expect(res.status).to.eq(503)
        expect(res.responseBody.data).to.eq('Not success')
        expect(res.responseHeaders).to.have.property('x-token', 'abc-123-foo-bar')
    })
});

 

等待別名數組的栗子

當將別名數組傳遞給 cy.wait() 時,Cypress 將等待所有請求在給定的 requestTimeout 和 responseTimeout 內完成

cy.server()
cy.route('users/*').as('getUsers')
cy.route('activities/*').as('getActivities')
cy.route('comments/*').as('getComments')
cy.visit('/dashboard')

cy.wait(['@getUsers', '@getActivities', '@getComments']).then((xhrs) => {
  // xhrs現在將是匹配的XHR的數組
  // xhrs[0] <-- getUsers 的響應
  // xhrs[1] <-- getActivities 的響應
  // xhrs[2] <-- getComments 的響應
})

 


免責聲明!

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



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