Это зависит от того, на что вы нацелены, функциональности или производительности.
Функциональность
При мониторинге функциональности вы стремитесь автоматически обеспечить правильную работу веб-приложения.Как правило, это в большей степени часть непрерывного процесса интеграции и меньшая часть мониторинга производства.Это можно сделать с помощью HtmlUnit, Selenium или WebDriver. HttpUnit больше не рекомендуется (API более низкого уровня, JavaScript не очень хорошо поддерживается, менее широко распространен, меньше исправлений и улучшений).
HtmlUnit имитируетбраузер.Таким образом, вы никогда не можете быть уверены, что ваше приложение ведет себя абсолютно идентично в реальном браузере.Это особенно важно для сложных приложений Ajax.Это сопоставимо со всеми небольшими несовместимостями между FireFox и Internet Explorer.Плюсы: без головы, легко понять.Минусы: Риск необнаруженных несовместимостей.
Selenium пульт дистанционного управления реальным браузером.В нашей настройке мы не могли использовать его без головы, особенно с Internet Explorer.Но если вы встраиваете его в виртуальную машину, он работает без головы.Если ваше приложение доступно через общедоступный Интернет, вы можете даже использовать Selenium Grid и предварительно настроенную виртуальную машину из Amazon Elastic Cloud EC2.Плюсы Selenium: совместимость с реальным миром, простота написания сценариев.Минусы: безголовый только в виртуальной машине, снижение производительности, более сложная настройка времени выполнения, имитация стресса для одновременных пользователей только в облаке.
До версии 1.5 Selenium использует JavaScript-компонент Selenium Core для управления браузером.Если ваше приложение имеет ограничения безопасности для JavaScript, Selenium может работать неправильно.
WebDriver использует для каждого браузера определенный интерфейс, например, для расширения FireFox и для элементов управления Automation Internet Explorer.Кроме того, он использует операционную систему, например, для имитации нажатий клавиш.Это более мощный, надежный и надежный, чем Selenium Core.Начиная с версии Selenium 2.0, WebDriver интегрирован в Selenium.Но Selenium 2.0 все еще находится на стадии бета-тестирования.
Производительность
Вы упоминаете измерение с таймером и время рендеринга.При мониторинге производительности веб-приложения вы хотите получать оповещения, когда использование приложения в реальном мире больше невозможно из-за чрезмерного времени ответа.
В этом сценарии вас обычно не интересуют точные результаты в миллисекундах,Вы все еще можете использовать один из инструментов, упомянутых выше.Например, браузер с Selenium Core работает медленнее, чем браузер реального мира, но это не имеет большого значения для непрерывного мониторинга.
Если вам абсолютно необходимы точные измерения, ни один из вышеперечисленных не подходит.Следует различать длительность на стороне клиента и продолжительность сети и длительность на стороне сервера.
Продолжительность на стороне клиента необходима для рендеринга HTML-кода и для выполнения JavaScript.Это не зависит от количества одновременно работающих пользователей.Вы можете измерить его один раз, например, с помощью Firebug .Вам не нужно постоянно следить за ним.
Для передачи запроса на сервер, обработки запроса и генерации ответа и передачи ответа на сервер требуется длительность работы в сети и на стороне сервера.клиент.Они различаются в зависимости от использования сети и количества одновременных пользователей.Вы можете точно измерить и контролировать их, например, с помощью JMeter .Но в случае сложной функциональности Ajax моделирование правильных клиентских запросов в JMeter является сложной задачей.Плюсы JMeter: Точное измерение, возможность подчеркнуть приложение со многими одновременными пользователями.Минусы: Ограничено для Ajax, много усилий для создания запроса.