我正在尝试在cypress中上传jpeg文件。我不怎么知道这是怎么做的。
我有以下代码:
cy.fixture(filename).then(fileContent =>
{
cy.get('#file').upload({ fileContent, filename, mimeType: 'image/JPEG', })
{ subjectType: 'input' }
})
这是我得到的错误:
在给定的文件中,一个或多个字段无效。 请查看文档以查找受支持的“ fileOrArray”值
答案 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'})
})