如果想從頭學起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 的響應 })