Испытание нагрузки GWT с помощью jmeter

У меня есть приложение GWT и вы хотите проверить нагрузку и функциональность с помощью инструмента jmeter. Я не уверен, что jmeter является правильным инструментом для GWT. Может ли кто-нибудь направить меня на правильный инструмент или может сказать мне, как это сделать с помощью jmeter?

Я хочу протестировать функцию входа в систему: у меня есть два текстовых поля "Имя пользователя" и "Пароль" на экране входа в систему и вы хотите проверить, сколько пользователей может одновременно войти в систему, сколько времени в пути туда и обратно. Не знаете, как jmeter может получить "имя пользователя" и "пароль" и может отправить его для проверки на наличие БД для приложения GWT?

Спасибо заранее.

Ответы

Ответ 1

Я думаю, это зависит от того, что именно вы хотите проверить. Если вы хотите протестировать и клиентский код, то лучше Selenium.

Если вы просто хотите протестировать фоновый сервер, вы могли бы отправить JMeter HTTP-запросы через HttpClient или что-то аналогичный. Вы можете определить, что нужно искать в запросе, используя прокси-сервер отладки, например Fiddler.

Ответ 2

Тестирование GWT с решениями тестирования нагрузки на основе HTTP-форм, таких как JMeter или Selenium, может быть довольно сложным из-за развития пользовательских интерфейсов.

В нашем проекте мы использовали другой подход.

Используя проект gwtrpccommlayer, мы вызываем непосредственно сервлеты RPC из JUnit.

http://code.google.com/p/gwtrpccommlayer/

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

Поэтому в JUnit мы можем запускать несколько потоков для имитации нескольких пользователей с помощью приложения и сбора статистики.

Ответ 3

Фактически реальная сложность существует, если ваше приложение использует GWT RPC, если JSON затем JMeter выполнит эту работу. I ваша страница входа не первая. И приложение использует GWT RPC, тогда вам понадобится плагин для JMeter, который обрабатывает сериализацию или использует другой инструмент (я не знаю реальных бесплатных инструментов, которые это делают).

Ответ 4

Существует коммерческое решение под названием UbikLoadPack, которое предлагает плагин для Apache JMeter для загрузки тестовых приложений GWT и GWT RPC.

Вы можете легко записывать, изменять и воспроизводить приложения на основе GWT и GWT RPC со стандартными знаниями Apache JMeter.

Смотрите этот блог для учебника:

И это для коммерческой информации:

Ответ 6

У меня была та же проблема при тестировании приложения GWT с jMeter, поэтому я написал фрагмент кода, который делает десериализацию полезной нагрузки GWT, следовательно, позволяет вам параметризовать ваш тест производительности jMeter (или любого другого):

http://code.google.com/p/gwt-payload-deserializer/

Просмотреть ReadMe.txt для объяснения всех компонентов полезной нагрузки GWT-RPC.

Ответ 7

Во время работы над приложением на основе gwt может использоваться некоторый запрос службы авторизации, для которого вам необходимо сохранить/использовать имя пользователя и пароль только в зашифрованном формате. С помощью этих настроек вы сможете войти в приложение через jmeter script. Кроме того, могут быть шансы, что несколько сообщений Post отправляют данные в тело вместо параметра. Это трудно обрабатывать, хотя запрос jmeter получает пропуск, но в действительности изменения, сделанные с помощью script, не отображаются в пользовательском интерфейсе.

Ответ 8

Это зависит от обслуживания. У нас есть приложение GXT, и даже JMeter HTTP Proxy рекордер отлично работает на нем.

Но его обслуживание скомпрометировано, поскольку RPC Requests использует параметр ( "X-GWT-Permutation" ), который является идентификатором файла .nocache.html. Поскольку он генерируется с другим идентификатором для каждой сборки, вы, вероятно, запишете его.

С другой стороны, селен работает нормально. Соблюдайте правильное использование селекторов в селене и, возможно, для обеспечения безопасности (в GWT), и вы, вероятно, будете настроены. Достаточно тривиально написать файл .jar, содержащий набор тестов JUnit (3.8) и обернуть его вокруг селена.

Как рекомендация: если вы, вероятно, будете проводить многократное нагрузочное тестирование с помощью селена, я могу порекомендовать Saucelabs "Sauce on Demand" (saucelabs.com). Вы настроили SSH-прокси с их сервисом, а их экземпляры селена EC2 подключаются к вашему интрасети. Это подход, к которому мы пошли.

Ответ 9

Необходимый инструмент называется NeoLoad (www.neotys.com/). Но это не бесплатно:( Если вы хотите попробовать сразу после того, как вы сможете использовать пробную лицензию, дайте вам при запуске.

Если вам не нужно что-то сложное, вы можете использовать Apache HTTPD-Test, который является бесплатным, но не настраивается как Jmeter.

Надеюсь, что это поможет. Приветствия.

Ответ 10

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

Краткое видео-демонстрацию можно увидеть здесь, на Youtube, а справочная документация LoadRunner содержит более подробную информацию.