Не передается параметр из респонса в реквест
#1
Отправлено 14 октября 2013 - 14:00
http request'ы записываются через jmeter -- http proxy server
При воспроизведении сценария параметры GET запроса (session id) и cookies, относящие к авторизации,
берутся из записанного ранее.
Каким образом изменить конфигурацию тест плана, чтобы session id и аутентификационные cookies подставлялись в запросы из переданных сервером ?
Пробовала через Regular Expression Extractor извлечь из респонса параметр sessionid и затем прописать его как параметр в последующем реквесте.
Но параметр не подставляется, во view result tree получается следующее http://...../sessionid=${sessionid}
#2
Отправлено 14 октября 2013 - 14:45
#3
Отправлено 15 октября 2013 - 09:21
1. сначала я через regular expression extractor создаю переменную JSESSIONID.Покажите как вы подставляете этот параметр?
2. Забираю из респонса JSESSIONID=([-a-zA-Z0-9]+)?
2. Подставляю в http request как параметр
jsessionid ${jsessionid}
я скриншот приложила
Прикрепленные файлы
#4
Отправлено 15 октября 2013 - 11:28
и вообще можно посмотреть содержимое ваших переменных с помощью debug sampler.
#5
Отправлено 15 октября 2013 - 13:20
1. сначала я через regular expression extractor создаю переменную JSESSIONID.
Покажите как вы подставляете этот параметр?
2. Забираю из респонса JSESSIONID=([-a-zA-Z0-9]+)?
2. Подставляю в http request как параметр
jsessionid ${jsessionid}
я скриншот приложила
Абсолютно согласен с fesd.
#6
Отправлено 15 октября 2013 - 23:18
Если все же хочется регулярных выражений, то:
- можно искать только по Headers
- выражение можно записать как JSESSIONID=(\w+)?
- в темплейте должно быть $1$
#7
Отправлено 16 октября 2013 - 12:00
В вашем случае, вряд ли, имеет смысл заморачиваться с регулярными выражениями, ведь JSESSIONID - это кука. Можно просто добавить Cookie Manager (а он, скорее всего, и так уже есть), в properties Jmeter'a добавить CookieManager.save.cookies=true и дальше получать значение куки так ${COOKIE_JSESSIONID}
Если все же хочется регулярных выражений, то:
- можно искать только по Headers
- выражение можно записать как JSESSIONID=(\w+)?
- в темплейте должно быть $1$
1. Cookie Manager добавила
2. В пропертях поставила значение
3. не понимаю что значит "дальше получать значение куки так ${COOKIE_JSESSIONID}"
поясните, пожалуйста
#8
Отправлено 16 октября 2013 - 12:08
Это значит, что в value параметра, в который вы раньше пытались подставить результат регулярки, теперь пишете ${COOKIE_JSESSIONID} вместо ${jsessionid}3. не понимаю что значит "дальше получать значение куки так ${COOKIE_JSESSIONID}"
поясните, пожалуйста
#9
Отправлено 16 октября 2013 - 12:59
Это значит, что в value параметра, в который вы раньше пытались подставить результат регулярки, теперь пишете ${COOKIE_JSESSIONID} вместо ${jsessionid}
3. не понимаю что значит "дальше получать значение куки так ${COOKIE_JSESSIONID}"
поясните, пожалуйста
Использую liferay & jmeter
из респонса первого http request забираю jsessionid=B435CD5D66B9C6DC94936182DD7EE0FF
дальше через описанную схему с cookies передаю его в следующий реквест. и получаю следующее
в http request
POST http://....
POST data:
_58_formDate=1381924536319&jsession=B435CD5D66B9C6DC94936182DD7EE0FF
Cookie Data:
JSESSIONID=B435CD5D66B9C6DC94936182DD7EE0FF;
в response
Response headers:
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Content-Encoding: gzip
Set-Cookie: JSESSIONID=C4DBAA4FD055CF9A23CEBA0182732477; Path=/; HttpOnly
почему так ?
получается, что jmeter считает, что переход по линкам на одной странице - это новая сессия. кто сталкивался ?
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных