Как передать ответ от одного сэмплера beanshell к другому сэмплеру beanshell в том же потоке в Jmeter - PullRequest
0 голосов
/ 18 января 2019

Я делаю вызов dme2 для api из beanshell и получаю от него ответ вроде {"stagedcustomerId": "165ce369-a9fb-4d42-b8f0-f119a6ae20eb"} поэтому теперь я хочу передать только значение идентификатора клиента другому сэмплеру бобовой оболочки для следующего вызова API в качестве одного из параметров в теле запроса в том же потоке в jmeter.

Пожалуйста, предложите, что мы можем сделать в этом случае. Есть ли способ сделать Beanshell постпроцессор?

1 Ответ

0 голосов
/ 21 января 2019
  1. Вы можете использовать сокращение SampleResult для определения данных ответа Beanshell Sampler, таких как:

    SampleResult.setResponseData("{\"stagedcustomerId\":\"165ce369-a9fb-4d42-b8f0-f119a6ae20eb\"}","UTF-8")
    
  2. После этого вы можете добавить JSON Extractor в качестве дочернего элемента Beanshell Sampler и настроить его следующим образом:

    enter image description here

  3. Вот и все, теперь вы сможете получить доступ к извлеченному значению как String id = vars.get("id"); в другом Beanshell Sampler или как ${id} в любом другом тестовом элементе.

    enter image description here


Также следует помнить, что начиная с JMeter 3.1, настоятельно рекомендуется использовать JSR223 Test Elements и язык Groovy для создания сценариев, поэтому рассмотрите возможность рефакторинга своего теста при следующей доступной возможности.

...