Джейн, программист JavaScript

Как программист JavaScript с более чем 3-летним опытом работы с Python, я понимаю важность тестирования производительности в веб-разработке. Когда дело доходит до оптимизации производительности приложений JavaScript, выделяются два популярных инструмента: Lighthouse и WebPagetest.

В этом сообщении блога я сравню эти два инструмента, объясню их функции и предоставлю фрагменты кода для демонстрации их использования.

Маяк

Lighthouse — это автоматизированный инструмент с открытым исходным кодом, разработанный Google, который встроен в Chrome DevTools. Основное внимание уделяется аудиту и улучшению качества, производительности и доступности веб-страниц. Давайте подробнее рассмотрим некоторые из его ключевых особенностей.

Монтаж

Lighthouse предустановлен в браузере Chrome. Чтобы получить к нему доступ, откройте Chrome DevTools, щелкнув правой кнопкой мыши веб-страницу и выбрав «Проверить». Затем перейдите на вкладку «Маяк».

Применение

Чтобы выполнить тест производительности с помощью Lighthouse, выполните следующие действия:

  1. Откройте Chrome DevTools.
  2. Перейдите на вкладку «Маяк».
  3. Выберите нужные параметры, такие как тип устройства и регулирование.
  4. Нажмите «Создать отчет».

Пример кода

Вот пример того, как вы можете программно запустить Lighthouse с помощью JavaScript:

const lighthouse = require('lighthouse');
const chromeLauncher = require('chrome-launcher');

async function runLighthouse(url) {
  const chrome = await chromeLauncher.launch();
  const options = { port: chrome.port };
  const runnerResult = await lighthouse(url, options);
  console.log(runnerResult.report);
  await chrome.kill();
}
runLighthouse('https://example.com');

В приведенном выше фрагменте кода мы используем пакет lighthouse для программного запуска Lighthouse. Мы запускаем экземпляр Chrome, используя chromeLauncher, и передаем port в параметры Lighthouse. Наконец, мы печатаем сгенерированный отчет и закрываем экземпляр Chrome.

Веб-страницатест

WebPagetest — еще один широко используемый инструмент для измерения производительности веб-страниц. Он предоставляет полный набор метрик и расширенных возможностей тестирования. Давайте изучим его возможности и использование.

Монтаж

WebPagetest доступен как онлайн-сервис, что означает, что вам не нужно ничего устанавливать локально. Просто посетите Веб-сайт WebPagetest, чтобы начать.

Применение

Чтобы запустить тест производительности с помощью WebPagetest, выполните следующие действия:

  1. Посетите веб-сайт WebPagetest.
  2. Введите URL-адрес веб-страницы, которую вы хотите протестировать.
  3. Выберите желаемое тестовое местоположение, браузер и настройки подключения.
  4. Нажмите «Начать тест».

Пример кода

WebPagetest также предоставляет API, который позволяет программно запускать тесты. Вот пример того, как вы можете использовать API WebPagetest с Python:

import requests

def run_webpagetest(url):
    endpoint = 'https://www.webpagetest.org/runtest.php'
    api_key = 'YOUR_API_KEY'
    location = 'Dulles:Chrome'
    
    params = {
        'url': url,
        'k': api_key,
        'location': location,
        'f': 'json'
    }
    
    response = requests.get(endpoint, params=params)
    test_id = response.json()['data']['testId']
    return test_id
test_id = run_webpagetest('https://example.com')
print(f'Test ID: {test_id}')

В приведенном выше фрагменте кода мы используем библиотеку requests для выполнения запроса API к WebPagetest. В качестве параметров мы предоставляем URL, ключ API, местоположение и формат запроса. Ответ содержит идентификатор теста, который можно использовать для получения результатов теста.

Сравнение характеристик

Важно отметить, что оба инструмента имеют свои сильные стороны и могут использоваться вместе для проведения комплексного тестирования производительности.

Выбор правильного инструмента

При принятии решения о том, какой инструмент использовать, учитывайте конкретные потребности вашего проекта. Lighthouse с его интеграцией в Chrome DevTools отлично подходит для быстрого тестирования и итеративной разработки. Он предоставляет полезную информацию и предложения по улучшению производительности и доступности.

С другой стороны, если вам требуются дополнительные параметры тестирования и настройки, WebPagetest может подойти лучше. Его API позволяет лучше контролировать выполнение тестов и предоставляет подробные результаты с каскадными диаграммами для углубленного анализа.

В конечном счете, выбор между Lighthouse и WebPagetest зависит от таких факторов, как требования вашего проекта, необходимый уровень настройки и знакомство с инструментами.

Заключение

В этом сообщении блога мы сравнили два популярных инструмента для тестирования производительности JavaScript: Lighthouse и WebPagetest. Мы изучили их функции, установку и использование, а также предоставили фрагменты кода для демонстрации их использования.

Lighthouse, интегрированный в Chrome DevTools, предлагает удобный интерфейс и фокусируется на аудите качества и производительности веб-страниц. WebPagetest, как онлайн-сервис, предоставляет расширенные возможности тестирования и настройки через свой API.

Помните, что выбор инструмента зависит от конкретных потребностей вашего проекта. Оба инструмента имеют свои сильные стороны и могут использоваться вместе для всестороннего тестирования производительности. Экспериментируйте с ними, анализируйте результаты и оптимизируйте свои приложения JavaScript для максимальной производительности.

Удачного тестирования!

Отказ от ответственности. Информация, представленная в этом сообщении в блоге, основана на моем личном опыте и не отражает точку зрения или одобрение каких-либо конкретных компаний, в которых я работал.

Надеюсь, эта статья была вам полезна. Спасибо, что нашли время, чтобы прочитать его.

💰 Бесплатная электронная книга💰

👉Ворваться в технологии + получить работу

Если вам понравилась эта статья, вы можете помочь мне поделиться ею с другими:👏хлопать в ладоши, 💬комментировать и обязательно 👤+ подписаться.

Подождите секунду. Чтобы писать на Medium и получать пассивный доход, используйте эту реферальную ссылку, чтобы стать участником.

💰 Бесплатная электронная книга💰

👉Ворваться в технологии + получить работу

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .