赛普拉斯文件上传(图片/ JPEG)

时间:2019-10-30 12:37:25

标签: file-upload jpeg cypress

我正在尝试在cypress中上传jpeg文件。我不怎么知道这是怎么做的。

我有以下代码:


cy.fixture(filename).then(fileContent =>
 {
cy.get('#file').upload({ fileContent, filename, mimeType: 'image/JPEG', })
     { subjectType: 'input' }
    })

这是我得到的错误:

在给定的文件中,一个或多个字段无效。 请查看文档以查找受支持的“ fileOrArray”值

2 个答案:

答案 0 :(得分:2)

我想您正在使用此插件cypress-file-upload进行上传。这是它的api合同

interface FileData {
    fileContent: string;
    fileName: string;
    mimeType: string;
    encoding?: Cypress.Encodings;
  }
    upload(fileOrArray: FileData | FileData[], processingOpts?: FileProcessingOptions): Chainable<Subject>;

您输入的错字应该是 fileName ,而不是 filename

答案 1 :(得分:0)

通过cypress-file-upload上传图片效果很好。只需将图像转换为Blob。

const fileName= 'logo.jpeg'
        cy.fixture('logo.jpeg')
        .then(Cypress.Blob.base64StringToBlob)
        .then((fileContent) => {
        cy.get('#new_ad > div:nth-child(19) > div').attachFile(
          {fileContent, fileName, mimeType: 'image/**'},{subjectType: 'drag-n-drop'})
        })