You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Cypress上传PDF文件失效,如何正确实现PDF文件上传功能?

Cypress PDF上传异常修复方案

首先确认PDF文件form.pdf已经存放在你项目的cypress/fixtures目录下,再按以下代码调整:

// 直接定位隐藏的原生文件输入框,不要选外层的div按钮
cy.get('input[type="file"]')
  .attachFile('form.pdf', {
    force: true
  })
// 添加上传接口断言,确认实际请求成功
cy.intercept('POST', '/你的实际上传接口路径').as('upload')
cy.wait('@upload').its('response.statusCode').should('eq', 200)

调整说明

  • 修正元素选择逻辑:attachFile方法必须绑定到原生<input type="file">节点,你之前选择外层div.button会导致文件数据没有注入到实际的上传字段,前端仅触发了选文件后的交互提示,没有携带数据发起上传请求。
  • 简化不必要的参数配置:cypress-file-upload插件会自动识别PDF文件的mimeType和编码格式,手动指定base64编码容易出现编码不匹配,导致后端接收的文件数据损坏。
  • 添加上传结果校验:很多前端上传组件会在用户选完文件后立刻提示「上传成功」,但实际异步上传请求还在处理中,添加接口拦截断言可以确认后端确实接收并处理了文件。

如果你的上传组件是自定义封装的,触发上传需要额外点击确认按钮,在上述代码后补充对应点击逻辑即可:

cy.get('div.button').click()

内容的提问来源于stack exchange,提问作者aktibaba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 17:54:04