使用 Cypress 6.4 等待拦截但跳过第一个取消的 xhr 调用

问题描述

我使用拦截来等待 XHR 调用并确保它加载的应用程序网格开始执行我的测试:

cy.visit('/contacts')
cy.intercept('POST','**/contacts/datatable').as('getContacts')
cy.wait('@getContacts')
cy.log('Now I can start...')

问题是我的 api 出现了一些问题,我首先得到了一个取消的 XHR,然后是 200 状态,并且响应正确,而 cypress 卡在了 cy.wait 中。

我尝试添加某种条件,例如:

cy.wait('@getContacts')
  .should('have.property','response.statusCode',200)
  .then(cy.log('Now I can start...'))

但还是一样。

在响应为 200 之前跳过 XHR 调用的任何想法?

解决方法

尝试使用 should() 链接等待。即:

gcc --static -o test.exe test.c HPX-Windows.c -L. -lftd2xx -g

根据cypress文档,cy.wait会一直等到状态码为200。