удаление номеров версий страниц в URL-адресах действий формы в калитке для целей стресс-тестирования

Я хочу провести стресс-тестирование системы на базе Apache Wicket с помощью гриндера. Итак, что я сделал, так это то, что я использовал инструмент TCP Proxy гриндера для записи тестового сеанса в своем приложении, а затем передал сгенерированный тестовый сценарий гриндеру для стресс-тестирования системы; но мы узнали, что тесты не проводятся успешно.

После долгих настроек и отладки мы обнаружили, что проблема заключалась в системе генерации URL-адресов калитки, где она смешивает номер версии страницы со своими URL-адресами.

Поэтому я искал и нашел решения для удаления номера версии этой страницы из URL-адресов (например, это ), и использовали их, и они работали и удаляли эти номера версий из URL-адресов, используемых в браузере. Но опять же, тесты не сработали.

Итак, я проверил больше и обнаружил, что, хотя URL-адреса теперь чисты, атрибут действия форм по-прежнему использует URL-адреса, смешанные с номером версии страницы, например этот: ./?4-1.[wicket-path of the form]

Так есть ли способ удалить эти номера версий из URL-адресов форм? Если нет, есть ли другой способ решить эту проблему и провести стресс-тестирование веб-приложения калитки?

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


person Ashkan Kazemi    schedule 27.04.2016    source источник


Ответы (2)


Я не использовал гриндер, но успешно протестировал приложение калитки с помощью JMeter Proxy; без изменения механизма версии Wicket по умолчанию.

Вот пошаговая ссылка JMeter для справки:

https://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf

По сути, все, что я делал, это запускал прокси-сервер для приема веб-запросов от браузера для захвата тестовых сценариев. После завершения сбора образцов измените URL-адрес целевого хоста на любой сервер, на который вы хотите указать (кроме вашего локального хоста).

В качестве альтернативы есть еще один инструмент для нагрузочного тестирования BlazeMeter (совместимый с JMeter). Вы можете добавить плагин для браузера Chrome для быстрого понимания.

Кроме того, вы можете рассмотреть возможность установки ваших пакетов на отдельные URL-адреса для «более чистых» URL-адресов. Таким образом, у вас будет набор известных URL-адресов, сгенерированных для страниц в одном пакете (например, /reports для всех страниц отчетов в пакете отчетов).

Надеюсь это поможет!

-Михир.

person Mihir    schedule 27.04.2016
comment
спасибо @Mihir, но проблема в том, что наше приложение вообще не имеет URL-адресов и на самом деле является одностраничным приложением, а также содержит много вызовов AJAX, поэтому для нас это не так просто, как вы говорите. - person Ashkan Kazemi; 28.04.2016
comment
когда я запускаю гриндер, у меня есть много таких исключений в моем журнале tomcat: был удален со страницы. что я должен делать? - person Ashkan Kazemi; 28.04.2016
comment
В этом случае вы могли бы использовать шаблоны Regex для тестирования? Что-то вроде упомянутого в guide.blazemeter.com/hc/en-us/articles/. Вам придется найти аналогичное решение в гриндере. - person Mihir; 28.04.2016

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

Вместо использования href при записи вам нужно использовать атрибут, установленный (вам!) с org.apache.wicket.settings.DebugSettings#setComponentPathAttributeName(String).

Таким образом, Grinder/JMeter/Gatling/... должен отслеживать этот специальный атрибут вместо «href», а затем находить ссылку для щелчка с помощью селектора CSS/XSLT.

P.S. Если вы не боитесь писать код на Scala, загляните на https://github.com/vanillasource/wicket-gatling.

person martin-g    schedule 28.04.2016