cy.get('input[type=file]').selectFile('path') (или .attachFile в старых плагинах) задаёт файл без OS-диалога.
Разбор
- Поддержка drag-drop через selectFile options.
- Фикстуры файлов в
cypress/fixtures.
- Скрытый input —
{ force: true } осознанно.
- Проверяйте UI-превью и/или API.
Пример
cy.get('[data-cy=file]').selectFile('cypress/fixtures/doc.pdf');
cy.contains('doc.pdf').should('be.visible');
Итог
selectFile — стандартный детерминированный upload в современном Cypress.