Cypress-SelectFile() 在 Chrome 中未按预期工作

lit*_*ahn 6 javascript file-upload cypress

赛普拉斯版本:9.5.0
Chrome 版本:98

我一直在尝试使用cy.selectFile()Cypress 测试上传文件。下面的代码看起来像这样:

cy.get('#new-project-photo', { force: true }).selectFile({
    contents: 'cypress/fixtures/media/003_StreetView.jpg',
    fileName: 'image01.jpg',
    mimeType: 'image/jpeg',
}, { force: true });
Run Code Online (Sandbox Code Playgroud)

文件输入的 HTML 如下所示:

<input multiple="multiple" id="new-project-photo" 
data-file-type="image" data-max-size="10485760" data-callback="true" 
type="file" name="file" 
data-url="https://api.cloudinary.com/v1_1/pxd/auto/upload" 
data-form-data="{&quot;allowed_formats&quot;:&quot;jpg,gif,png,jpeg&quot;,&quot;callback&quot;:&quot;https://kf.pxs-staging.com/cloudinary_cors.html&quot;,&quot;timestamp&quot;:1645550617,&quot;signature&quot;:&quot;47dd768ebfad68ebce2c8c5bc9b1da08777f69f9&quot;,&quot;api_key&quot;:&quot;421553125867598&quot;}" 
data-cloudinary-field="photos[image]" class="cloudinary-fileupload">
Run Code Online (Sandbox Code Playgroud)

通过 FF 运行测试时的代码按预期运行,并且文件在发布请求时上传为 200。但是,当通过 Chrome 运行测试时。我收到 400 错误{"error":{"message":"Missing required parameter - file"}}(来自服务器)。在 chrome 中手动上传时,上传确实按预期工作。

它发送到的 URLPOST是与测试站点的基本 URL 不同的域。这可能是原因吗?我也对配置中包含此内容感到好奇: "chromeWebSecurity": false,需要在 chrome 中正确加载站点。

我也尝试先将图像包装在固定装置中,同样的问题。

有人知道我可能做错了什么以及为什么它似乎只在 FF 中起作用?

lit*_*ahn 0

对于遇到此问题的任何人,请确保您拥有最新版本。截至今天(v9.5.1)似乎已经解决了我遇到的问题。现在添加图像没有问题。Chrome 也已经是 99 版本了

感谢大家