xmlhttprequest - 使用 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...'))
但还是一样。
有什么想法可以跳过 XHR 调用,直到响应为 200 ?
解决方案
尝试用 should() 链式等待。IE:
cy.wait('@getContacts').its('response.statusCode').should('eq', 200).
根据 cypress 文档,cy.wait 将等到状态码为 200。
推荐阅读
- jenkins - 提交作业时如何将环境变量传递给 Jenkins Remote API
- reactjs - 为什么 Redux 商店不更新 iOS 上的组件?
- c# - 如何在 .NET 内存中保存大量数据
- firebase - 未使用 Firebase 动态链接为我的网站设置 UTM 参数
- python - Ansible Python API - 如何获取在 vars_files、host_vars、group_vars 中定义的变量
- python - pytorch 自定义数据集:DataLoader 返回张量列表而不是列表的张量
- mergesort - 我正在尝试在 python 中编写合并排序,但是当我输入不同的列表时输出不同
- sas - SAS 中的配对条形图
- outlook - 如何在 Outlook 插件中添加导航按钮?
- apache - Apache 未正确加载文档根目录