JMETER: Невозможно добавить Cook ie к запросу - PullRequest
0 голосов
/ 23 января 2020

Первый постер, долгое время читатель - для одного из моих тестов производительности, повар ie не передается по одному из запросов. Я пробовал многие из предложений, которые я нашел здесь и в других местах в Интернете, и я все еще не могу вручную добавить повара ie к любому запросу.

Так что я пытаюсь сделать сейчас, просто следовать образец от Blazemeter и даже с моей настройкой basi c, я все еще не могу добавить повара ie. Мне нужно что-то упустить, и мне не хватает волос, чтобы вытащить.

(я пока не могу опубликовать фотографии, поэтому ссылка на изображение ниже)

Jmeter версия - 5.0 r1840935

User.Properties Обновлено -

CookieManager.check.cookies=false
CookieManager.save.cookies=true

У меня есть менеджер HTTP Cook ie на уровне группы потоков. Политика cook ie установлена ​​на стандартную, но я также попытался использовать Default без разницы. Запрос HTTP имеет следующие параметры: имя_сервера: blazedemo.com, метод: GET, путь: пароль / сброс

в препроцессоре JSR223 (Groovy 2.4.15 / Groovy сценарии 2.0) по HTTP-запросу мой код выглядит следующим образом (с некоторыми операторами отладки)

 import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

//Get cookie manager
CookieManager cm = ctx.getCurrentSampler().getCookieManager()
Cookie cookie = new Cookie("sampleCookie", "sample", "opencart.abstracta.us", "/Mytest/done", false, 1557578515)
cm.add(cookie)
Cookie c=cm.get(0)
log.info("*********Cookie #3:" + c.getName() + "cookie value: " + c.getValue())
log.info("******************** Cookies count: " + cm.getCookieCount())

В журнале отладки Jmeter показано следующее, поэтому кажется, что повар ie успешно добавлен в хранилище. и я думаю, что это должно работать.

2020-01-22 19:10:35,936 DEBUG o.a.j.p.h.c.CookieManager: **Add cookie to store** opencart.abstracta.us  TRUE    /Mytest/done    FALSE   1557578515  sampleCookie    sample
2020-01-22 19:10:35,936 INFO o.a.j.m.JSR223PreProcessor: *********Cookie #3:sampleCookiecookie value: sample
2020-01-22 19:10:35,936 INFO o.a.j.m.JSR223PreProcessor: ******************** Cookies count: 1

Тем не менее, журнал также показывает, что не было найдено куки для запроса -

2020-01-22 19: 10: 35,938 DEBUG oajph c .HC4CookieHandler: Найдено 0 файлов cookie для http://blazedemo.com/password/reset

При просмотре тела запроса я вижу следующее:

GET http://blazedemo.com/password/reset
GET data:
[no cookies]

Я не вижу синтаксическую ошибку, но у меня что-то неправильно настроено? Если я добавлю повар ie в диспетчер Cook ie в «определяемых пользователем файлах cookie», то повар ie действительно передается в запрос.

TestPlan Image

Ответы [ 2 ]

0 голосов
/ 27 января 2020
  1. Вы добавляете повар ie для домена opencart.abstracta.us и путь /Mytest/done
  2. Вы попали в домен blazedemo.com и путь /password/reset
  3. Вы ожидаете увидеть повара ie в запросе - этого не произойдет

Согласно RF C 6265 такое поведение абсолютно ожидаемое , если вы хотите увидеть программно сгенерированный повар ie - его домен и путь должны соответствовать домену / пути в запросе HTTP сэмплер

Так что измените эту строку:

Cookie cookie = new Cookie("sampleCookie", "sample", "opencart.abstracta.us", "/Mytest/done", false, 1557578515)

на этот:

Cookie cookie = new Cookie("sampleCookie", "sample", "blazedemo.com", "/password/reset", false, 1557578515)

и ваш сценарий должен начать работать, как ожидалось.

enter image description here

Ссылки:

0 голосов
/ 23 января 2020

HTTP Cook ie Диспетчер, хранит и отправляет куки, как это делает браузер, поэтому лучше сначала проверить запрос / поток вручную в инструментах разработчика браузера, независимо от того, идут туда какие-либо куки или нет.

Поскольку файлы cookie - это сообщения, которые веб-серверы передают вашему веб-браузеру в более раннем заголовке ответа [например, set-cookies:] и то же значение, которое используется браузером для отправки следующего запроса.

В таким же образом менеджер HTTP-файлов cookie также работает.

Итак, вам нужно сначала проверить, получаете ли вы какие-либо куки с сервера или нет.

Если нет, Jmeter не отправит его назад.

С уважением, Навин Рай

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