作用

等待数毫秒或等待别名资源解析,然后再继续执行下一个命令

语法格式

  1. cy.wait(time)
  2. cy.wait(alias)
  3. cy.wait(aliases)
  4. cy.wait(time, options)
  5. cy.wait(alias, options)
  6. cy.wait(aliases, options)

参数讲解

Cypress系列(43)- wait() 命令详解 - 图1

正确格式

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

wait() 命令返回的对象

当传了 time 时

cy.wait() 产生与上一个命令相同的主题

当传了 alias 时

cy.wait() 产生一个对象,其中包含 XHR 的 HTTP 请求和响应属性

等待一个别名的栗子

  1. it.skip('栗子1', function () {
  2. cy.server()
  3. cy.route({
  4. url: '**/login',
  5. status: 503,
  6. response: {
  7. success: false,
  8. data: 'Not success'
  9. },
  10. }).as("login")
  11. cy.get("input[name=username]").type(username)
  12. cy.get("input[name=password]").type(`${password}{enter}`)
  13. // 等待请求的响应
  14. cy.wait('@login').then((res) => {
  15. // 针对响应进行断言
  16. expect(res.status).to.eq(503)
  17. expect(res.responseBody.data).to.eq('Not success')
  18. expect(res.responseHeaders).to.have.property('x-token', 'abc-123-foo-bar')
  19. })
  20. });

等待别名数组的栗子

当将别名数组传递给 cy.wait() 时,Cypress 将等待所有请求在给定的 requestTimeout 和 responseTimeout 内完成

  1. cy.server()
  2. cy.route('users/*').as('getUsers')
  3. cy.route('activities/*').as('getActivities')
  4. cy.route('comments/*').as('getComments')
  5. cy.visit('/dashboard')
  6. cy.wait(['@getUsers', '@getActivities', '@getComments']).then((xhrs) => {
  7. // xhrs现在将是匹配的XHR的数组
  8. // xhrs[0] <-- getUsers 的响应
  9. // xhrs[1] <-- getActivities 的响应
  10. // xhrs[2] <-- getComments 的响应
  11. })

https://www.cnblogs.com/poloyy/p/13625824.html