Перейти к содержимому

Фотография

JMeter регулярные выражения


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 12

#1 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 12 февраля 2017 - 17:20

Имеются две переменные, которые надо завести как переменные Regular Expression Extractor, помогите указать поля Regular Expression и Template. (регулярные выражения)

Вот примеры значения,которые принимают переменные:

bpmWorklistTaskId

82a11178-03c8-4c08-84b0-1d6d39d98a4d

675616a4-5d85-43f4-8aca-f862f89ffa0b

 

bpmWorklistContext

50acda18-ca1a-47bd-8696-ef8bc2e9c62b;;G;;fHNKVv8YzX+3PlFBCv5621Ib0Tfj+GuqpjaQzISSgrIxnx46GLIeDVQaIg32Z+GsQzOYTqTEKzTI8CkgvfF3MU/oHZTWJtxLuqg2deRE4gbJ5Eh9mTQBko+vCUkRPzwPkOFRdcKiokNkg90caHsyDA==

 

2740e00c-a27a-43aa-a97a-fd4bd5fb6201;;G;;vqLf5XWwVV/53cDdJ8J/m7kZHhhluLinEnp2LDYnhF3SyOiMOx1tu3yAlRtkjDQnWQcgdaB2nAfybj+DFAYEypplWD73BocZkumOoM42eAYXWfhYmn9V3e5Oo7ONWxTE0xPNgliIjaiN9dCwuPZ4bw==

 


  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 237 сообщений
  • ФИО:Алексей

Отправлено 13 февраля 2017 - 08:31

Имеются две переменные, которые надо завести как переменные Regular Expression Extractor, помогите указать поля Regular Expression и Template. (регулярные выражения)

Вот примеры значения,которые принимают переменные:

bpmWorklistTaskId

82a11178-03c8-4c08-84b0-1d6d39d98a4d

675616a4-5d85-43f4-8aca-f862f89ffa0b

 

bpmWorklistContext

50acda18-ca1a-47bd-8696-ef8bc2e9c62b;;G;;fHNKVv8YzX+3PlFBCv5621Ib0Tfj+GuqpjaQzISSgrIxnx46GLIeDVQaIg32Z+GsQzOYTqTEKzTI8CkgvfF3MU/oHZTWJtxLuqg2deRE4gbJ5Eh9mTQBko+vCUkRPzwPkOFRdcKiokNkg90caHsyDA==

 

2740e00c-a27a-43aa-a97a-fd4bd5fb6201;;G;;vqLf5XWwVV/53cDdJ8J/m7kZHhhluLinEnp2LDYnhF3SyOiMOx1tu3yAlRtkjDQnWQcgdaB2nAfybj+DFAYEypplWD73BocZkumOoM42eAYXWfhYmn9V3e5Oo7ONWxTE0xPNgliIjaiN9dCwuPZ4bw==

И? Регулярное выражение вынимает параметры из запроса. Если хотите конкретный ответ, задайте конкретный вопрос, в котором будет пример, откуда собственно нужно выцепить значения.

 

Вообще мануал по регулярным выражениям https://docs.oracle....ex/Pattern.html

Пример java кода, на котором можно проверять свои регулярки:

Pattern pattern = Pattern.compile("(?:location:)([^\\s]+)", Pattern.MULTILINE & Pattern.DOTALL);
        String input = "date:Mon, 06 Feb 2017 07:23:14 GMT\n" +
                "location:http://myhost/index.html\n" +
                "server:nginx/1.10.2";

        Matcher matcher = pattern.matcher(input);
        System.out.println(matcher.find());

        int i=0;

        for (i=0; i<=matcher.groupCount(); i++){
            System.out.println(matcher.group(i));
        }

  • 0

#3 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 19 февраля 2017 - 12:58

подскажите на каком языке описываются регулярные выражения в Jmeter 3.0?


  • 0

#4 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 20 февраля 2017 - 10:04

подскажите на каком языке описываются регулярные выражения в Jmeter 3.0?

эм ... на языке регулярных выражений

 

Если ты хочешь через beanShell это делать , то JAVA'ой


  • 0

#5 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 20 февраля 2017 - 10:16

Кто может помочь объяснить что значат символы \",\" после _afrLoop в регулярном выражении _afrLoop\",\"([-_0-9A-Za-z]{13,16}) ?


  • 0

#6 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 20 февраля 2017 - 10:23

Кто может помочь объяснить что значат символы \",\" после _afrLoop в регулярном выражении _afrLoop\",\"([-_0-9A-Za-z]{13,16}) ?

это экранирование символа ".

Описание


  • 0

#7 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 12 марта 2017 - 11:18

_afrLoop\",\ "([-_0-9A-Za-z]{13,16}) -как срабатывает _afrLoop, [\"], [,] (что значить мягкий знак), [\ ] (что значит слэш и пробел). Используется это регулярное выражение для [ http://bpmtest.test1t.ru:8025/bpm/workspace/faces/jsf/worklist/worklist.jspx?_afrLoop=9437046147229642&_afrWindowMode=0&_adf.ctrl-state=pjesbtzka_9 ]

 

RegExp Tester выдает

Match count: 1
Match[1][0]=_afrLoop", "9437032066679341
Match[1][1]=9437032066679341

  • 0

#8 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 12 марта 2017 - 11:21

_adf.ctrl-state=([-_0-9A-Za-z!]{10,13})

window.name='([-_0-9A-Za-z!]{10,13})'

<input type="hidden" name="javax\.faces\.ViewState" value="!(.+?)">


  • 0

#9 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 12 марта 2017 - 11:46

на rubular.com срабатывает как _afrLoop=([-_0-9A-Za-z]{13,16}), но в RegExp Tester ничего не выдает при таком значении. Необходимо понять что значат знаки, начиная с _afrLoop и до скобок


  • 0

#10 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 13 марта 2017 - 09:00

на rubular.com срабатывает как _afrLoop=([-_0-9A-Za-z]{13,16}), но в RegExp Tester ничего не выдает при таком значении. Необходимо понять что значат знаки, начиная с _afrLoop и до скобок

это символы, которые могут быть в значении _afrLoop (от 0 до 9 и тд)


  • 0

#11 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 14 марта 2017 - 06:02

Спасибо. Но это я прекрасно понимаю. Но читайте мой вопрос внимательнее:

_afrLoop\",\ "([-_0-9A-Za-z]{13,16}) -как срабатывает _afrLoop, [\"], [,] (что значить мягкий знак), [\ ] (что значит слэш и пробел). Используется это регулярное выражение для [ http://bpmtest.test1t.ru:8025/bpm/workspace/faces/jsf/worklist/worklist.jspx?_afrLoop=9437046147229642&_afrWindowMode=0&_adf.ctrl-state=pjesbtzka_9 ]

 

RegExp Tester выдает при значении регулярного выражения _afrLoop\",\ "([-_0-9A-Za-z]{13,16})

Match count: 1
Match[1][0]=_afrLoop", "9437032066679341
Match[1][1]=9437032066679341
 
на rubular.com срабатывает как _afrLoop=([-_0-9A-Za-z]{13,16}), но в RegExp Tester ничего не выдает при таком значении. Необходимо понять что значат знаки, начиная с _afrLoop и до скобок

  • 0

#12 ShS

ShS

    Новый участник

  • Members
  • Pip
  • 61 сообщений
  • Город:Россия, Москва

Отправлено 14 марта 2017 - 07:37

Необходимо понять что значат знаки, начиная с _afrLoop и до скобок

 

 

_afrLoop\",\ " указывает на то, что в искомом значении обязательно должны присутствовать символы: _afrLoop", " (кстати, экранировать кавычки не обязательно)

так как некоторые символы, например, /{}[]()% и др. могут использоваться для описания рег. выражения, то чтобы при поиске эти символы считались, как часть искомой строки, их экранируют символом \

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

например: 

выражение _afrLoop", "([-_0-9A-Za-z]{13,16}) будет искать строку, в которой есть символы _afrLoop", " (и подстроку длиной от 13 до 16 символов в которую могут входить только символы- (минус) _ (подчеркивание) 0-9 (цифры от 0 до 9) A-Z (латинские буквы от A до Z) a-z (латинские буквы от a до z) и по умолчанию вернет то, что в круглых скобках 9437032066679341 или W_Ajgh123421-5vR

выражение _afrLoop", "\([-_0-9A-Za-z]{13,16}\) будет искать строку , в которой есть символы _afrLoop", " ( (открывающая скобка) (и подстроку длиной от 13 до 16 символов в которую могут входить только символы) - (минус) _ (подчеркивание) 0-9 (цифры от 0 до 9) A-Z (латинские буквы от A до Z) a-z (латинские буквы от a до z) ) (закрывающая скобка) и вернет строку целиком _afrLoop", "(94370320645677) или _afrLoop", "(W_Aj123421-5RTg) 

 

в jMeter RegExp Tester возвращает как найденную строку целиком, так и то что в ()

если в Regular Expression Extractor указан шаблон $1$ то в переменную будет передаваться значение найденное в ()

 

проверять рег. выражения под jMeter можно на https://regex101.com/


  • 1

#13 MaximRus

MaximRus

    Новый участник

  • Members
  • Pip
  • 24 сообщений
  • ФИО:Иванов Иван Иванович

Отправлено 18 марта 2017 - 14:04

_afrLoop',\s*'([0-9]{13,16})

Для сравнения использую отладчик RegExp Tester и https://regex101.com/r/lB8aQ9/3. Почему отладчик RegExp Tester дает результат на данное регулярное выражение, а другие - нет. Если прописать _afrLoop=([0-9]{13,16}), то результат в https://regex101.com/r/lB8aQ9/3 - будет, а в RegExp Tester - нет. Кто сталкивался с проблемой отладки в рег выражений в Jmeter помогите понять как он работает и чем отличается от других.

Что значат все символы в регулярном выражении я прекрасно знаю, и растолковывать лишний раз нет необходимости. Хочу понять как работает отладчик в Jmeter

Прикрепленные файлы

  • Прикрепленный файл  JM_1.JPG   148,53К   1 Количество загрузок:
  • Прикрепленный файл  JM_2.JPG   47,87К   1 Количество загрузок:

  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных