Cypress Version: 9.5.0
Chrome Version: 98
Ive been trying to use cy.selectFile() to upload a file in Cypress test. The following code looks as such:
cy.get('#new-project-photo', { force: true }).selectFile({
contents: 'cypress/fixtures/media/003_StreetView.jpg',
fileName: 'image01.jpg',
mimeType: 'image/jpeg',
}, { force: true });
The HTML of the File Input looks as such:
<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="{"allowed_formats":"jpg,gif,png,jpeg","callback":"https://kf.pxs-staging.com/cloudinary_cors.html","timestamp":1645550617,"signature":"47dd768ebfad68ebce2c8c5bc9b1da08777f69f9","api_key":"421553125867598"}"
data-cloudinary-field="photos[image]" class="cloudinary-fileupload">
The code when running the test through FF runs as expected and the file is uploaded with a 200 on the post request. However when running the test through Chrome. I get a 400 with an error of {"error":{"message":"Missing required parameter - file"}} (Coming from server). The upload does work as expected when manually doing the upload in chrome.
The URL it sends the POST to is a different domain then the base url of the tested site. Could this be the cause? Im also curious about having this in the config: "chromeWebSecurity": false, Which is needed to load the site properly in chrome.
Ive also tried wrapping the image in a fixture first, same issue.
Anyone know what i might be doing wrong and why it only seems to work in FF?