Apache JMeter не выполняет Javascript, найденный на страницах HTML - PullRequest
5 голосов
/ 02 марта 2012

Я хочу провести тестирование производительности и загрузку моего веб-приложения с использованием Apache Jmeter.Мое веб-приложение содержит основную часть в виде вызовов ajax и кода javascript.К сожалению, «Apache JMeter не выполняет Javascript, обнаруженный на страницах HTML. Он также не отображает страницы HTML, как браузер».Как протестировать мое веб-приложение с Jmeter или есть лучшие инструменты с открытым исходным кодом для такого рода приложений.

Есть идеи?

1 Ответ

3 голосов
/ 02 марта 2012

JMeter будет служить вашим инструментом нагрузочного / стресс-тестирования, но его трудно использовать в веб-приложениях, которые содержат много логики на стороне клиента.

Selenium отличный инструмент функционального тестирования для веб-приложений, которые сильно зависят от логики на стороне клиента, но не предназначены для нагрузочного / стресс-тестирования.

В зависимости от приложения вы можете разделить различные контексты тестирования по различныминструментов.Если вам нужно явно протестировать производительность JavaScript, тогда, как правило, рекомендуется использовать профилировщик JavaScript.Если вы тестируете бизнес-логику на стороне клиента, то Selenium здесь очень поможет.Когда вы тестируете бэкэнд-компоненты (доступ к базе данных, код среднего уровня и т. Д.), JMeter будет здесь лучше.

Я склонен использовать все три инструмента в разных мощностях, так как я поддерживаю и тестирую приложение на основе ADF / JSF, которое очень тяжело работает на клиентском коде.Серые области - это то, где код JavaScript читает что-то из DOM и затем отправляет URL.Если цель состоит в том, чтобы загрузить тестируемый URL-адрес, о котором идет речь, вы можете объединить Selenium и JMeter в отдельных тестовых прогонах: (1) для функционального тестирования (Selenium) и (2) путем жесткого соединения значений (тестовых данных, которые были бы полученыиз DOM / JS) в сэмплере запросов JMeter.

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