上传图片 [赛普拉斯]

Uploading image [Cypress]

我正在尝试将 jpeg 图像从 本地文件 上传到我在此处开发的网页。问题是,我们需要单击页面以打开文件资源管理器,然后select图像(或拖放到可能被单击的同一位置)。 Here is a picture from the web page

我不知道我该怎么做,我正在尝试一些我在“https://medium.com/@chrisbautistaaa/adding-image-fixtures-in-cypress-a88787daac9c”中看到的代码。但是没有用。我其实不知道它是如何工作的,谁能帮帮我?

Here is my code

在@brendan 的帮助下,我能够通过在元素下找到 "hidden" 的输入来解决问题。但是,在此之前我尝试了拖放操作,但 cypress 返回了一个错误(尽管上传成功)。上下文是,在上传之后,元素立即重新呈现,赛普拉斯告诉我:

除了输入元素的成功之外,我想知道如何解决这个错误,是否可以在内部对 cypress 做一些事情来忽略或等到元素重新呈现恢复正常? 赛普拉斯建议的解决方案:

我们正在使用 cypress-file-upload

这是我们代码中的示例:

cy.fixture(fileName).then(fileContent => {
  cy.get(selectors.dropZoneInput).upload(
    { fileContent, fileName, mimeType: "application/pdf" },
    { subjectType: "drag-n-drop" }
  );
});

为了您的目的,我认为这可行:

cy.fixture(imagePath).then(fileContent => {
  cy.get(".upload-box").first().upload(
    { fileContent, fileName, mimeType: "image/jpeg" },
    { subjectType: "drag-n-drop" }
  );
});