Как реализовать рекурсивный вызов внутри jmeter?

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

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

-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 extractor для моего callback_request, и если какие-либо queryIDs найдены, а затем вернуться к if_controller

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

1 ответ

  1. Вы можете использовать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 очень медленный и может повлиять на производительность скрипта. Более подробную информацию можно найти здесь.

    Создание модульного тестового сценария в JMeter .