Есть ли особый c способ выполнения строковых манипуляций в jMeter? - PullRequest
0 голосов
/ 10 июля 2020

Я записал тестовый сценарий и извлек строку с помощью извлечения регулярных выражений и получил его значение (reportID): - / api / application / GetAsyncTaskProgress / fa38d781-c679-4e15-959f-1b953e3873f4

Я хочу извлечь значение fa38d781-c679-4e15-959f-1b953e3873f4 из приведенного выше выражения.

Я попытался извлечь значение, используя следующую функцию JavaScript: -

$ {__ javaScript (var testString = "$ {reportID}". Split ('/'); test = testString [testString.length - 1]; return test;, returnID)}

Однако он не возвращает никакого значения.

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Скорее всего, ваше регулярное выражение не очень хорошо спроектировано, я полагаю, вы могли бы получить это fa38d781-c679-4e15-959f-1b953e3873f4 из ответа напрямую.

В любом случае, есть возможность использовать Экстрактор регулярных выражений для извлечения значения из переменной JMeter , поэтому, если у вас есть reportID JMeter Variable со значением /api/application/GetAsyncTaskProgress/fa38d781-c679-4e15-959f-1b953e3873f4, вы можете использовать следующий экстрактор регулярных выражений, чтобы получить это fa38d781-c679-4e15-959f-1b953e3873f4 значение:

enter image description here

Also be aware , что начиная с JMeter 3.1 вы должны использовать JSR223 Test Elements и функцию __ groovy () для написания сценариев , потому что Groovy имеет лучшую производительность среди всех языков сценариев JMeter соответствующая функция __ groovy () будет выглядеть примерно так:

${__groovy(vars.get('reportID').substring(vars.get('reportID').lastIndexOf('/') + 1),returnID)}
0 голосов
/ 10 июля 2020

Пожалуйста, попробуйте приведенный ниже фрагмент. Это даст reportID.

${__javaScript(var testString= "${reportID}".split('/'); testString[testString.length - 1]; , returnID)} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...