извлечь значение поля с тем же именем из JSON, используя JMeter - PullRequest
0 голосов
/ 21 мая 2018

В ответе JSON у меня есть несколько полей с одинаковыми именами внутри разных тегов.Но мне нужно извлечь из этого тега, где соответствует число, которое я хочу.Скажем, в следующем примере я хочу получить значение "(786) 402-9010", когда customerPpid = 467133011

[{"oopId": "110034477", "timestamp": "3698652681958", "targetType": "TMTroubleCall", "billAccount": "3655732026", "customerFormattedPhoneNumber": "(786) 505-2911", "customerIsRequestingCallBack": "ложь", "customerPpid": "609188407", "acceptTime": "03/16/ 2018 11:31:00 "," originator ":" DPH0GNL "," priorityForDisplay ":" 3 "," remarks ":" test "," ddbKey ":" 8614147890T "," displayType ":" SNCU ","parentFplId ":" 268224478" , "parentActualDeviceType": "TXU", "parentDdbKey": "8614147890T", "parentTroubleCoordinateX": "863634", "parentTroubleCoordinateY": "459622", "parentPreviousProtectiveDeviceStack": "268221704,23282601,23281142", "saidItr": "16.03.2008 14:30:00", "saidMode": "N", "ticketCallComplaints": [{"componentId": "1685289", "description": "Нет текущего"}], "customerLanguageMenuOption": "1"},

{"oopId": "114249429", "timestamp": "3698652636567", "targetType": "TMTroubleCall", "billAccount": "6182150000", "customerFormattedPhoneNumber ":" (786) 402-9010 "," customerIsRequestingCallBack ":" false "," customerPpid ":" 467133011 "," acceptTime ":" 16.03.2008 11:31:00 "," attachTime ":"16.03.2008 11:31:00 "," originator ":" DPH0GNL "," priorityForDisplay ":" 3 "," remarks ":" testing "," ddbKey ":" 8614154820T "," displayType ":" SNCU" "parentFplId": "268224477", "parentActualDeviceType": "TXU", "parentDdbKey": "8614154820T", "parentTroubleCoordinateX": "864084", "parentTroubleCoordinateY": "459307", "parentPreviousProtectiveDeviceStack":" 268221704,23282601, 23281142 "," saidItr ":" 16.03.2008 14:30:00 "," saidMode ":" N "," ticketCallComplaints ": [{" componentId ":" 1685289 "," description ":" Нет текущего"}, {" componentId ":" 4063885 "," description ":" Клиент проверил прерыватель "}]," customerLanguageMenuOption ":" 1 "},

как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Используйте следующее выражение пути Json

$..[?(@.customerPpid=="467133011")].customerFormattedPhoneNumber

Добавьте экстрактор JSON к запросу, как показано на скриншоте ниже

enter image description here enter image description here

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

Jmeter Json Extractor

0 голосов
/ 22 мая 2018
  1. Добавить JSON Extractor как дочерний элемент запроса, который возвращает вышеуказанный JSON
  2. Настройте его следующим образом:

    • Именасозданных переменных: что-либо значимое, например phone
    • Выражения пути JSON:

      $..[?(@.customerPpid == '467133011')].customerFormattedPhoneNumber

      JMeter JSON Path Extractor

  3. Вот и все, теперь вы можете получить доступ к извлеченному значению как ${phone}, где это необходимо.

Демонстрация:

JMeter Debug JSON Path

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...