В Cypress медиафайлы используются для различных целей: скриншоты тестов, видео выполнения, фикстуры для тестирования, и статические ресурсы, необходимые для автоматизации. Правильная организация этих файлов повышает читаемость тестов, облегчает их поддержку и позволяет автоматизировать процессы сборки и отчётности.
По умолчанию Cypress создаёт следующие ключевые директории:
cy.screenshot().video: true в
cypress.config.js.Для удобства работы рекомендуется соблюдать правила:
cypress/fixtures/login или
cypress/screenshots/admin_panel.Фикстуры — это один из основных инструментов работы с медиафайлами. Они позволяют подгружать данные для тестов без необходимости повторного создания объектов вручную.
Пример структуры:
cypress/fixtures/
├─ users.json
├─ images/
│ ├─ avatar.png
│ └─ logo.svg
Загрузка фикстуры в тесте осуществляется через
cy.fixture():
cy.fixture('users.json').then((users) => {
cy.get('#username').type(users.admin.username);
cy.get('#password').type(users.admin.password);
});
Фикстуры с изображениями или бинарными данными можно использовать, например, для тестирования загрузки файлов:
cy.fixture('images/avatar.png', 'base64').then(fileContent => {
cy.get('input[type="file"]').attachFile({
fileContent,
fileName: 'avatar.png',
mimeType: 'image/png'
});
});
Использование base64 гарантирует правильную передачу
бинарного содержимого.
Cypress позволяет создавать скриншоты автоматически при падении тестов или вручную. В конфигурации можно настроить следующие параметры:
e2e: {
screenshotOnRunFailure: true,
screenshotsFolder: 'cypress/screenshots'
}
При автоматическом создании Cypress формирует структуру директорий, повторяющую структуру тестов, что упрощает поиск ошибок:
cypress/screenshots/
├─ login.spec.js/
│ ├─ should_login_successfully.png
│ └─ should_fail_login.png
Ручное создание скриншота выполняется командой:
cy.screenshot('login-success');
Для удобства рекомендуется:
Запись видео полезна для анализа сложных сценариев, особенно при интеграционном тестировании. Включается через конфигурацию:
e2e: {
video: true,
videosFolder: 'cypress/videos'
}
Видео создаются в формате .mp4 и по умолчанию именуются
по имени спецификации. Рекомендуется:
тип_теста_имя_сценария_дата/время позволяет быстро
идентифицировать нужный файл.fixtures, screenshots и
videos.base64 или бинарный режим, чтобы избежать ошибок
кодирования.Для командной работы и автоматизации рекомендуется:
screenshots и videos к
отчётам о выполнении тестов.Правильная организация медиафайлов повышает надёжность тестирования и снижает вероятность ошибок при масштабировании проектов. Она обеспечивает прозрачность процесса, облегчает отладку и ускоряет взаимодействие с системой CI/CD.