Средство тестирования производительности работает на уровне протокола HTTP , в основном то же самое, что и браузер, но в частности JMeter :
JMeter не является браузером , он работает на уровне протокола. Что касается веб-сервисов и удаленных сервисов, JMeter выглядит как браузер (точнее, несколько браузеров); однако JMeter не выполняет все действия, поддерживаемые браузерами. В частности, JMeter не выполняет Javascript, найденные на HTML страницах. Он также не отображает HTML страницы, как браузер (можно просмотреть ответ как HTML et c., Но время не включено ни в какие образцы, а только один образец в одном потоке отображается одновременно).
, поэтому вы можете протестировать производительность backend только с помощью JMeter, однако вы не получите метрики производительности на стороне клиента
Тесты на основе протокола занимают гораздо меньше места с точки зрения ресурсов (ЦП, ОЗУ и т. Д. c.), Поэтому вы можете моделировать тысячи виртуальных пользователей с помощью современного ноутбука среднего класса.
Selenium - это браузер фреймворк автоматизации, он работает с реальными браузерами так:
- у вас есть показатели производительности на стороне клиента (включая возможность запроса Window.Performance метрики)
- и у вас нет метрик, связанных с протоколом HTTP (время соединения, задержка, параллелизм, пропускная способность и т. д. c.)
Браузерные тесты занимают огромное место с точки зрения ресурсов, поскольку браузеры очень ресурсоемки, например Firefox 74 требуется 1 ядро ЦП и 2 ГБ ОЗУ на экземпляр браузера, так что вы можете запустить только несколько браузеров на среднем ноутбуке среднего класса
В зависимости от ваших требований, вы можете захотеть либо протестируйте бэкэнд с помощью JMeter или интерфейс с помощью Selenium, либо создайте основную загрузку с помощью JMeter и используйте 1-2 реальных браузера для тестирования производительности на стороне клиента.
Если вы ищете способ интеграции JMeter с Selenium, взгляните на WebDriver Sampler (это JMeter Plugin , который можно установить с помощью JMeter Plugins Manager )