Используя JMeter, я пытаюсь войти в приложение веб-форм asp.net.Я записал последовательность входа в файл * .jmx и теперь пытаюсь извлечь скрытые входные данные __VIEWSTATE, __VIEWSTATEGENERATOR и __EVENTVALIDATION с помощью постпроцессора Regular Expression Extractor.
Во всех 3 случаях JMeter извлекаетимя переменной, в которую я хочу извлечь (например, "$ {viewstate}") вместо значения, которое я хочу извлечь.Вот как выглядит объект RequestBody, когда я смотрю на дерево ViewResults и выбираю «Текст»:
ReturnUrl =% 2F & __ VIEWSTATEGENERATOR =% 24% 7Bviewstategenerator% 7D & __ EVENTARGUMENT = & __ VIEWSTATE =% 24% 7% ViewBlt% PL0nt1Tolt% 7HD2D1Tolt2D3D3WD3D0W0H0H0H0H0H0H0H0H0H0H0T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3T3H0% 24LoginButton.x = 25 & ctl00% 24ContentPlaceHolder1% 24Login1% 24Password = MyPassword% 21 & ctl00% 24ContentPlaceHolder1% 24Login1% 24LoginButton.y = 4 & __ LASTFOCUS = & ctl00% 24ContentPlaceHolder1% 24Login1% 24UserName = MyUserName & __ EventTarget = & __ EVENTVALIDATION =% 24% 7Beventvalidation% 7D
Как ни странно, если я выберу "RegExpTester" в дереве ViewResults и протестирую свои регулярные выражения, все они, похоже, будут работать.
Например, вот как выглядит мой экстрактор __VIEWSTATE:
Регулярное выражение - это бит текста:
name="__VIEWSTATE" id="__VIEWSTATE" value="(.+?)"
Когда я ввожу это выражение в RegExp Tester, оно находит его.Другие 2 также работают:
Я впервые использую JMeter, подозреваю, что что-то не в том месте.
Вот как настроен мой HTTP-запрос:
Вот как выглядит весь проект: