Библиотека Lighthouse в JavaScript предоставляет возможность использовать пресеты эмуляции, которые позволяют тестировать веб-страницы в различных условиях, моделируя поведение разных устройств и сетевых соединений. Это критически важно для оценки производительности, доступности и SEO в условиях, приближенных к реальной эксплуатации.
В Lighthouse пресеты эмуляции задаются через объект
config, который может содержать ключ
emulatedFormFactor и дополнительные параметры в
settings. Основные варианты пресетов:
Пример конфигурации:
const lighthouseConfig = {
extends: 'lighthouse:default',
settings: {
emulatedFormFactor: 'mobile', // возможные значения: 'mobile', 'desktop', 'none'
screenEmulation: {
disabled: false,
width: 360,
height: 640,
deviceScaleFactor: 2,
mobile: true,
disabled: false
},
throttling: {
rttMs: 150,
throughputKbps: 1600,
cpuSlowdownMultiplier: 4,
requestLatencyMs: 0
}
}
};
Эмуляция в Lighthouse делится на три основных блока:
deviceScaleFactor) и флага
mobile. Определяет, как страница будет отображаться на
устройстве.User-Agent для имитации браузера мобильного или десктопного
устройства.Помимо стандартных пресетов mobile и
desktop, можно создавать кастомные пресеты
эмуляции, комбинируя параметры:
const customPreset = {
emulatedFormFactor: 'mobile',
screenEmulation: {
width: 414,
height: 896,
deviceScaleFactor: 3,
mobile: true,
disabled: false
},
throttling: {
rttMs: 200,
throughputKbps: 1200,
cpuSlowdownMultiplier: 5
}
};
Кастомные пресеты позволяют тестировать страницы на конкретных устройствах, например, iPhone 14 Pro, с точной настройкой ширины, высоты, масштабирования и сетевых условий.
Lighthouse CLI позволяет применять пресеты напрямую, без программной конфигурации. Примеры:
lighthouse https://example.com --preset=mobile
lighthouse https://example.com --preset=desktop
Если требуется кастомная эмуляция, используется конфигурационный файл
JSON с указанием всех параметров screenEmulation и
throttling.
Эмуляция влияет на показатели First Contentful Paint, Largest Contentful Paint, Time to Interactive и другие метрики. Использование мобильного пресета показывает реальные задержки на медленных устройствах и сетях, а десктопный пресет помогает оценить производительность на высокопроизводительных машинах.
Пресеты эмуляции в Lighthouse предоставляют мощный инструмент для точного моделирования поведения сайта в различных условиях, обеспечивая объективную и воспроизводимую оценку веб-страниц.