Есть ли регулярное выражение для извлечения двух строк одновременно - PullRequest
0 голосов
/ 18 июня 2019
{"token_type":"Bearer","expires_in":31622400,"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjZlMzQ5NWEyMjNjYjhmODczNzRiN2UxODA0ODZkNGFkM2M5MTcyZTllMGMyYWVjOGExOTMxMjBjNmRmYTM0NGIxODUyMzEzYThlMTA3ODIzIn0.eyJhdWQiOiI0IiwianRpIjoiNmUzNDk1YTIyM2NiOGY4NzM3NGI3ZTE4MDQ4NmQ0YWQzYzkxNzJlOWUwYzJhZWM4YTE5MzEyMGM2ZGZhMzQ0YjE4NTIzMTNhOGUxMDc4MjMiLCJpYXQiOjE1NjA4NDY2MTYsIm5iZiI6MTU2MDg0NjYxNiwiZXhwIjoxNTkyNDY5MDE2LCJzdWIiOiIzMzAiLCJzY29wZXMiOltdfQ.nT-c58d1aTUy95QITqbCvwqASzO4kMwLvI9Hc28KNIZalojjXzLqBMUsfSRn_0aMN5lCjD4i4zIZUI2NAnOJbopXl2KusZY602ZYZ0V8QmbyTDic6AdAceA1iVioQlQHVGOM9DNvvKwjSQRbKAQ9lK6_DnQIfWRD4yn32Z_55EY6MsDjzUKRJl6xl0lP0S7wMK8-ak5xDOOgLiiFWVF_4BruAFJdxLOLRSo5wP6Ub77aXUU3OeYgi38wX6IkTxRYnMXLH_vCGelnrvPE8izeU6PhC681HCBDvulZdoRwFc_BNj5iLLhyksKYyHYwu4AHluvzsCQVCL5sPkEe8zYI9UNWn72MsygODQm7718cG0e7hK_q2iA2a4dKPY8vSlXBThdOKnmGhR0GdE26XYYyZeRpvxFA_tMFWclYCSDu6NhpxP52IW0wc8LxtokmAV2bhWdvcvtvrrQeTj86UtpocAyc8hK01aqCgPoPmqKTcboJANLm4Y-8wbnIlZaP1fNdE66NTXXzns_u-ipYMKz377ti7DROvJrfCqgf1fcJ16pHcKExvWzRJ-zKrkMVwxkLtQTeb1Sn3xZfOkm_VGcrbfUfqNGr4GgeonSgBxNwpH6OD71QeuIv8kxvjnXmAoxnxSYeXWz7IxZiKyf0edAtXQpb2qX1Tu1HJ9CnlFVNhmI","refresh_token":"def502003de98bcba253c6d22371677a1a1ebc14e33da134e9868cb357ea58d48a109922f5761606bafbfbbed8a11478b07f880f7ea04bb3810a758b5265f59f68e9312be44dcaa322152740388273d9d0366f17be2ab95db688b69481ca55291cbd194f1f868bd0f654ca5fd0e932a7dec86b6a6684dfb425604619fb881d4a3e9e04a77a4d81c1e682594c2c400d6ea6a148e9f17c410f88a4e4f6a0fccf72063d2eacb91844267ef01d60ea098854ee8a73b7920188e160d7d18b5801c3b2eedf971225dbadf4722830cc211b5872ae5c67161b5dfad009030ddcfb7b1d968fec1f9c95c08efef2e8d367704292f2e9a9da2441ed048806995c7b3d81b815aa0ea232391a856bf418944ac5d42e5ff31205eba577843cbe3d6fd38a03f6690a88dd5c69aebcdd2e78cecbf365166764c9ea1223ec445bfeac73965fb9fa270c54d9dd1f4c80620653b0b8c386a4f2878a3a2fbe41e3d7cf80857b14de18e927c167"}

Вот мой идентификатор сеанса токена, я хочу извлечь Bearer и токен, начинающийся ey.........c167 с регулярным выражением, чтобы токен был извлечен:

Bearer ey...............c167

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Это можно сделать с помощью средства извлечения регулярных выражений. В конце у вас будут две переменные (см. Ниже), которые вы можете использовать.

$ {Token_g1} = Носитель

$ {Token_g3} = eyJ0eXAiOiJKV1QiLCJhbGciOiJSU ........

enter image description here

0 голосов
/ 18 июня 2019

Пользователь JSON Extractor для этой цели.Согласно документации JMeter JSON Extractor ,

Имена созданных переменных: Имена переменных, разделенные точкой с запятой, которые будут содержать результаты JSON-PATHвыражения (должно соответствовать числу выражений JSON-PATH)

выражения пути JSON: выражения JSON-PATH, разделенные точкой с запятой (должны совпадать с числом переменных)

Таким образом, конфигурация JSon Extractor будет такой:

Names of created variables: bearer; access; refresh

JSON Path Expressions:$.token_type; $.access_token; $.refresh_token

Default Values: null;null1;null2

Я проверил в JMeter 5.1 и обнаружил, что если есть несоответствие между числом переменных, выражений json и значениями по умолчанию, то оно проходит через исключение.

java.lang.IllegalArgumentException: Mismatch between number of variables, json expressions and default values

Итак, в JSON Extractor настроено Default Values: null;null1;null2.

enter image description hereenter image description here

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