Измерение нагрузки или тестирование производительности веб-приложений GUI - PullRequest
1 голос
/ 24 января 2020

Мы используем JMeter для проведения нагрузочного тестирования apis. Если вы хотите выполнить нагрузочное или стресс-тестирование веб-приложения, имеющего рендеринг JavaScript, можно ли использовать опцию JMeter with Selenium или любые другие опции, например, функциональные тесты Selenium интегрируются с любым инструментом повышения производительности.

Пожалуйста, предложите.

Пересматривали / ссылались на следующие вопросы: Как подходить к тестированию производительности «конечного клиента» в одностраничных (веб) приложениях?

Ответы [ 2 ]

1 голос
/ 27 января 2020

В зависимости от того, чего вы пытаетесь достичь и сколько у вас мощности машины, вы можете учесть:

  1. Параллельное выполнение тестов Selenium с использованием Selenium Grid , но в этом случае:

    • вам необходимо убедиться, что у вас достаточно ЦП, ОЗУ и т. д. c. Т.е. Firefox 72 требуется 1 ЦП и 2 ГБ ОЗУ для каждого экземпляра браузера
    • у вас не будет HTTP-протокола конкретная c метрика (время соединения, время до первого байта, время до последнего байта и т. д. c.) и нагрузочный тест указать c метрики (количество активных потоков во времени, количество транзакций в секунду и т. д. c)
  2. Выполнение основной загрузки с использованием сэмплеров JMeter HTTP Request (просто убедитесь, что правильно настроить JMeter для работы в режиме реального браузера ) и запустить 1-2 потока Выборка WebDriver для сбора показателей производительности на стороне клиента, то есть из Производительность объект

1 голос
/ 26 января 2020

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

  1. Тест производительности сервера: Используйте его для ввода нагрузки на сервер. Запишите сетевой трафик c для этапов поездки, используя JMeter proxy . Уберите сторонние и stati c URL, которые не имеют отношения к нагрузочному тесту.

  2. Тест производительности внешнего интерфейса: Используйте это для измерения воздействия на конечного пользователя. В этом тесте используйте от 1 до 5 виртуальных пользователей. Создание нагрузки в данном случае не важно, поэтому в этом случае вы можете использовать небольшое количество виртуальных пользователей. Вы можете использовать нагрузочный тест на основе селена, webpagetest.org или аналогичные инструменты.

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

Если вы используете taurus , чтобы запустить свой тест perf, тогда вам будет проще запустить два теста JMeter параллельно, используя bzt scene1.jmx scene2.jmx

Надеюсь, что это помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...