Ответ
Кроссбраузерное тестирование может быть частью Smoke-набора, но это не является обязательным правилом. Решение зависит от контекста проекта.
Когда это уместно:
- Если приложение — веб-ориентированный продукт, и его работоспособность в основном браузере (например, Chrome) является критически важной для бизнеса.
- Smoke-тест в этом случае может включать один ключевой сценарий (например, вход в систему) в одном основном браузере для подтверждения, что сборка не сломала базовый функционал.
Когда это избыточно:
- Полноценное тестирование во всех поддерживаемых браузерах и их версиях (Chrome, Firefox, Safari, Edge) — это задача Regression- или Cross-browser-тестирования.
- Основная цель Smoke — быстрая проверка (5-15 минут) стабильности сборки, поэтому его объём должен быть минимальным.
Пример подхода:
// Smoke-сценарий: проверка загрузки главной страницы в основном браузере
describe('Smoke: Main Page Load', () => {
it('should load homepage in primary browser', async () => {
await page.goto('https://app.example.com');
await expect(page).toHaveTitle('Example App');
await expect(page.locator('#main-nav')).toBeVisible(); // Проверка ключевого элемента
});
});