Как провести стресс-тестирование веб-приложения, требующего JavaScript - PullRequest
11 голосов
/ 19 октября 2008

Подобный вопрос уже задавался ( Выполнение стресс-теста для веб-приложения? ), но я бы хотел протестировать веб-приложение, которое предотвращает двойную отправку и выполняет некоторые действия против XSRF и, следовательно, ТРЕБУЕТ оценивать скрипты Java.

Кто-нибудь делал стресс-тесты с веб-приложениями, которые требуют (и используют) JS, и делятся опытом?

jMeter не будет работать, я думаю ...

Спасибо!

Ответы [ 10 ]

3 голосов
/ 21 января 2009

Одним из решений, которое, возможно, стоит найти, является запуск Selenium в Amazon EC2 для обеспечения необходимой масштабируемости. В Selenium есть учебник , в котором используется образец, поставляемый с сеткой Selenium. Windows-машины стоят 12,5 цента в час для небольшой машины, а это значит, что тест на 500 машин будет стоить $ 62,50 в час.

ПЛЮСЫ:

  • Selenium работает в реальном браузере, что означает, что ваш Javascript работает так же, как на клиенте
  • Низкая стоимость - попытка сделать это на собственном оборудовании обойдется значительно дороже

МИНУСЫ:

  • Вам потребуется установить сетевое подключение от Amazon к вашему приложению
3 голосов
/ 02 января 2009

Проблема с Watir и Selenium RC или любым другим полнофункциональным браузерным решением заключается в том, что им нужен полноценный браузер: P

Браузеры очень дороги для запуска, часто требуя 300 МБ или более оперативной памяти. Умножьте эти требования еще на 100, и вам понадобится огромное оборудование. К счастью, есть решение: я недавно основал компанию, которая делает именно то, что вы ищете.

Проверьте http://browsermob.com, и вы можете запустить ограниченный тест (до 25 пользователей), чтобы почувствовать приложение. Не стесняйтесь обращаться к нам, если у вас есть какие-либо вопросы!

3 голосов
/ 19 октября 2008

Watir ?

Watir - это простая библиотека с открытым исходным кодом для автоматизации веб-браузеров. Watir управляет браузерами так же, как люди. Он нажимает на ссылки, заполняет формы, нажимает кнопки. Watir также проверяет результаты, например, появляется ли ожидаемый текст на странице.

Он управляет Internet Explorer, но также работает с Firefox (и Safari в некоторой степени).

2 голосов
/ 19 октября 2008

Что касается вашего бэкэнда, не имеет значения, что инициирует запрос, будь то из JavaScript или из инструмента нагрузочного тестирования, если запрос действителен .

Вы можете создать кучу фальшивых запросов, которые делают много разных вещей (надеюсь, представляющих реальные шаблоны использования) и сбить ваш веб-сервер с помощью инструмента нагрузочного тестирования.

Там есть куча:

  • Jmeter
  • http_load
  • Grinder
  • httpperf
2 голосов
/ 19 октября 2008

Тестеры, с которыми я работаю, используют Bad Boy для нагрузочного тестирования. Я вполне уверен, что вы можете тестировать взаимодействия, которые используют javascript, поэтому вы должны иметь возможность тестировать такие вещи, как двойная передача.

1 голос
/ 25 октября 2017

Поскольку JMeter не является браузером, он не будет интерпретировать код JavaScript на странице, которую вы ПОЛУЧАЕТЕ:

JMeter не обрабатывает Javascript или апплеты, встроенные в HTML-страницы. [JMeter Wiki]

Итак, что вы можете сделать? Вы можете добавить WebDriver к тесту JMeter и тем самым оценить веб-страницы.

Web Driver Sampler автоматизирует выполнение и сбор Показатели производительности в браузере (на стороне клиента). Большая часть до этого момента тестирование производительности проводилось на стороне сервера вещи. Тем не менее, с развитием технологий, HTML5, JS и CSS улучшения, все больше и больше логики и поведения были оттеснены клиенту. Это добавляет к общей воспринимаемой производительности веб-сайт / веб-приложение, но этот показатель недоступен в JMeter. вещи что добавить к общему времени выполнения браузера может включать в себя:

  1. Выполнение Javascript на стороне клиента - например, AJAX, JS шаблоны
  2. CSS-преобразования - например. 3D матричные преобразования, анимация
  3. сторонние плагины - например. Facebook как, Двойной клик, аналитика сайта и т. Д.

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

Официальное руководство: https://jmeter -plugins.org / wiki / WebDriverTutorial /

0 голосов
/ 28 февраля 2018

В этой области появился новый инструмент с именем k6

у него есть способ доступа к DOM, и я планирую попробовать его в проекте.

фоновая история:

Вы можете посетить этот и этот блог.

возможно, это поможет.

0 голосов
/ 02 января 2009

Кроме того, ознакомьтесь с моей недавней статьей на Ajaxian. Я думаю, что он хорошо объясняет, почему реальные браузеры имеют значение и почему выполнение JavaScript становится все более важным для нагрузочного тестирования.

http://ajaxian.com/archives/why-load-testing-ajax-is-hard

0 голосов
/ 19 октября 2008

Селен RC является еще одной альтернативой.

0 голосов
/ 19 октября 2008

Я пробовал Badboy, и это нормально. Большой, толстый, тяжелый инструмент - SilkTest. Это требует много программирования, чтобы начать работу, но вы можете сделать что-то очень хорошее!

Если вам требуется только стресс-тестовый запрос, например, от Файлы журнала IIS, у меня есть специальный инструмент для сборки. Я опубликую его в CodePlex очень скоро.

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