Как протестировать тестирование производительности на стороне клиента одностраничного приложения с помощью JMeter

#jmeter #jmeter-5.0

#jmeter #jmeter-5.0

Вопрос:

JMeter не поддерживает тестирование производительности на стороне клиента (проверка времени отображения содержимого / времени загрузки страницы) из коробки.

В одностраничных приложениях запросы отправляются на сервер в виде вызовов API. Я заинтересован в проверке времени загрузки страницы на стороне клиента для одновременных пользователей с помощью JMeter.

  1. Каков наилучший способ протестировать SPA с помощью JMeter?
  2. Вы рекомендуете плагин Selenium WebDriver?
  3. Существуют ли какие-либо другие инструменты, которые можно использовать для проверки нагрузочного тестирования на стороне клиента для одновременных пользователей?

Ответ №1:

Согласно главной странице проекта JMeter:

JMeter — это не браузер, он работает на уровне протокола. Что касается веб-сервисов и удаленных служб, JMeter выглядит как браузер (или, скорее, несколько браузеров); однако JMeter не выполняет все действия, поддерживаемые браузерами. В частности, JMeter не выполняет Javascript, найденный на HTML-страницах. Он также не отображает HTML-страницы так, как это делает браузер (можно просмотреть ответ как HTML и т. Д., Но тайминги не включены ни в какие образцы, и одновременно отображается только один образец в одном потоке).

Поэтому я сомневаюсь, имеет ли смысл даже рассматривать JMeter для работы с чистым интерфейсом, скорее всего, вы ищете Performance вкладку инструментов разработчика вашего браузера или более сложные решения, такие как Lighthouse или WebPageTest

Что касается плагина WebDriver Sampler, он просто обеспечивает интеграцию JMeter с Selenium browser automation framework, поэтому вы сможете запускать реальный браузер для каждого потока JMeter (виртуального пользователя), а остальное зависит от вашей реализации, скорее всего, вы захотите запросить значения API window.performance, чтобы получить нужные вам показатели.поиск с помощью функции executeScript ()