cypress-file-upload 不将文件附加到其中一个字段

Art*_*sky 1 javascript e2e-testing cypress cypress-file-upload

我用于cypress-file-upload将文件附加到输入字段。对不同位置的所有这些输入使用相同的方法(在我的例子中是在不同的模式窗口中)。但在一个地方,由于某种原因,文件没有附加,在执行的步骤中,文件被附加,但在模式中,它没有显示(红色区域)

在此输入图像描述

我需要做什么:

  1. 开放模式
  2. 附加一个文件
  3. 填写所有字段
  4. 单击提交按钮,但它被禁用,因为未附加失败

以及它在代码中的样子:

addUpdates(name, family, version, notes, file) {
  cy.get(this.topMenu_addButton).click()
  cy.get('.upload-field').should('be.visible')
  cy.get('input[type=file]').attachFile(file)
  cy.get(this.modal_field).should('be.visible').fill(name)
  cy.get(this.modal_familyField).fill(family)
  cy.get(this.modal_versionField).fill(version)
  cy.get(this.modal_notesField).fill(notes)
  cy.get(this.modal_proceedButton).should('be.enabled').click()
}
Run Code Online (Sandbox Code Playgroud)

所有字段均已成功填写,但未附加文件。有任何想法吗?

Mic*_*nes 5

日志告诉您文件实际上已附加。(也在开发控制台中检查,输入元素将有一个非空文件数组)。

看起来您需要触发更改或输入事件来告诉应用程序已附加某些内容

cy.get('input[type=file]').attachFile(file)
  .trigger('change')
Run Code Online (Sandbox Code Playgroud)

或者

cy.get('input[type=file]').attachFile(file)
  .trigger('input')
Run Code Online (Sandbox Code Playgroud)

如果失败,请尝试强制单击按钮

cy.get(this.modal_proceedButton).click({force:true})
Run Code Online (Sandbox Code Playgroud)