Альтернативы для автоматического тестирования производительности веб-приложений [закрыто]

Я ищу способ регулярно тестировать интерфейсную производительность моего веб-приложения.

В частности, меня интересует время, необходимое для разрешения имен хостов, получения ответов от серверов, загрузки / рендеринга / выполнения ресурсов и т. Д. Я также хочу измерить эти вещи, когдавзаимодействующий с приложением, а не только когдапогрузка страница.

Я мог бы использовать Firebug или Chrome Developer Tools при взаимодействии с моим веб-приложением вручную, но я хочу, чтобы это фронтальное тестирование производительности было частью моего процесса непрерывной интеграции. Я хочу получить результаты тестов производительности переднего плана каждую ночь, чтобы стало легко отслеживать регрессию производительности. Вот почему один из моих предварительных выводов заключается в том, что я хочу использовать свой существующий функциональный набор тестов Selenium / WebDriver (или подмножество набора тестов).

Если предположить, что я использую Selenium для взаимодействия с моим веб-приложением, мне действительно нужен инструмент дляизмерение производительность интерфейса в браузере.

Пока что я рассмотрел три варианта:

1)browsermob-прокси

browsermob-proxy - это прокси с открытым исходным кодом, который собирает данные о производительности в формате HAR. Он предоставляет HTTP REST API в дополнение к привязкам Java и NodeJS. Поскольку это прокси-сервер, который анализирует HTTP-трафик, он не дает мне никакой информации о том, что происходит в браузере (например, рендеринг и т. Д.), Что меня больше всего интересует.

2)WebPagetest

WebPagetest - это также программное обеспечение с открытым исходным кодом, доступное в виде бесплатного облачного сервиса на веб-странице webpagetest.org. Можно (и не слишком сложно) настроить частный экземпляр этой службы. Я даю ему URL-адрес и получаю отчет об эффективности загрузки этой страницы. Тем не менее, это не позволяет мне контролировать приложение, пока я с ним взаимодействую, что очень важно, особенно в одностраничном веб-приложении с большим количеством вещей, происходящих на стороне клиента, таких как мое.

3)Compuware APM AJAX Edition (ранее DynaTrace AJAX Edition)

Compuware APM AJAX Edition - это бесплатное (как и бесплатно) проприетарное программное обеспечение, которое использует плагины браузера для сбора информации из браузера во время просмотра, что означает, что он может автоматически собирать данные во время выполнения тестового набора Selenium.

Это довольно легко автоматизировать и интегрировать выполнение в непрерывный процесс интеграции, но отчетность оставляет желать лучшего. Результаты теста сгруппированы в «сеансы», то есть период из окна браузера, которое открыто до его закрытия. Нет функции для сравнения результатов испытаний во времени, что затрудняет отслеживание прогресса и выявление регрессий.

Compuware APM AJAX Edition - лучшая альтернатива, которую я видел до сих пор - но там должно быть что-то лучшее -правильно?

Ответы на вопрос(12)

Ваш ответ на вопрос