2016-10-04 2 views
0

Мне нужно смоделировать тестовый сценарий, когда мое приложение отправляет запрос с 100 запросами. На внутреннем сервере этот запрос разбивается на запросы, содержащие по одному запросу каждый. Таким образом, запрос от Jmeter с 100 запросами станет 100 запросов на внутреннем сервере. Теперь - ответ от внешнего сервера может либо содержать запрошенные данные для каждого из этих запросов, либо содержать уникальный идентификатор queryID. Отправка назад queryID - это способ сервера сообщить, что этот запрос все еще запущен. Например, если Jmeter отправляет запрос с 100 запросами, он может вернуть данные для 80 и 20 уникальных идентификаторов запросов. Поэтому мое тестируемое приложение делает запрос обратного вызова с этими 20 идентификаторами запросов каждые 15 секунд, пока не вернет запрошенные данные или тайм-аут.Как реализовать рекурсивный вызов внутри jmeter?

Вот что я реализовал до сих пор.

-main_request_with_100_queries 
--XPath_extractor_to_extract_any_queryIDs_found 
-if_controller_to_check_if_queryID_MatchNr_is_greater_than_0 
--15_second_pause 
--beanshell_preprocessor_to_create_the_request_body_with_all_queryIDs 
--callback_request_with_queryIDs 

То, что я хочу реализовать, чтобы иметь другую XPath экстрактор для моего callback_request, и если какие-либо queryIDs найдены, а затем вернуться к if_controller

Я пытаюсь сделать эту работу, используя module_controller но до сих пор не повезло. Кто-нибудь когда-либо реализовал что-то подобное? Может ли кто-нибудь предложить некоторые идеи?

ответ

0

Вы можете использовать While Controller, чтобы продолжать делать запрос до тех пор, пока в ответе не будет идентификатора queryID.

While Controller [ "${querid.present}"=="true" ] 
    HTTP Request 
    Pre Processor [to_create_the_request_body_with_all_queryIDs] 
    Post Processor [to check for query ID. if no query id - change querid.present to false ] 

Если возможно, попробуйте использовать экструдер регулярных выражений. xpath очень медленный и может повлиять на производительность скрипта. Проверьте here для более подробной информации.

Creating modular test script in JMeter.

+0

спасибо. Хотя контроллер имеет гораздо больше смысла. – singh2005

Смежные вопросы