JMeter - мне нужно передать параметр "Cook ie" в заголовок запроса - PullRequest
2 голосов
/ 01 апреля 2020

Я использую apache jmeter 5.2.1 с Java 8 для выполнения теста производительности в приложении JSF. Мне нужно отправить в заголовке HTTP-запроса параметр «Cook ie» в соответствии с приведенным ниже примером: enter image description here

Я пробовал несколько вещей, но ни одна из них не работает , Я уже использовал ресурс HttpHeaderManager, но, очевидно, слово «Cook ie» является зарезервированным словом JMeter, поэтому я не могу создать параметр в заголовке с именем «Cook ie». Если я создаю параметр в HttpHeaderManager с любым именем, он добавляется к заголовку запроса, но если я создаю с именем «Cook ie», которое мне нужно использовать, JMeter просто игнорирует его и не добавляет его в заголовок запроса.

Я видел много сообщений, указывающих, что я использовал следующий фрагмент кода:

CookieManager manager = sampler.getCookieManager();
Cookie cookie = new Cookie("JSESSIONID",vars.get("jSessionId"),"${serveraddress}",false,0);
manager.add(cookie);

Я проверял его, но он тоже не работает, он возвращает следующую ошибку всякий раз, когда Я пытаюсь использовать его: enter image description here

У меня также есть Http Cook ie Manager, но его значение отправляется в теле запроса, а не в заголовке.

Я также пытался использовать Http Autorization Manager, как я видел в некоторых сообщениях, но он работает только тогда, когда вход в систему выполняется по приглашению в браузере.

Может кто-нибудь мне помочь?

1 Ответ

3 голосов
/ 01 апреля 2020

Просто добавьте HTTP Cook ie Manager к своему плану тестирования, и он автоматически будет "управлять" cookie-файлами для вас (сэмплеры HTTP-запросов должны быть в HTTP Cook ie Manager's scope )

Вы можете дважды проверить, что JMeter отправляет правильный заголовок Cook ie, используя сторонний инструмент анализа, такой как Wireshark или Fiddler

Если вы добавили менеджер HTTP Cook ie, но JMeter по-прежнему не отправляет JSESSIONID cook ie, возможно, существует проблема с самим поваром ie, т.е. он не соответствует домену / пути или просрочен, или ваша конфигурация сэмплера HTTP Request неверна.

Если вы абсолютно уверены, что ваше приложение работает должным образом, вы можете настроить JMeter на менее строгие. по:

  1. Выбор более "непринужденной" политики повара ie, т. е. netscape
  2. Добавление следующей строки в user.properties файл:

    CookieManager.check.cookies=false
    
  3. Вы также можете добавить На следующей строке log4j2. xml file:

    <Logger name="org.apache.jmeter.protocol.http.control" level="debug" />
    

    таким образом вы получите исчерпывающую информацию о поведении Cook ie Manager в метре . .log file

Дополнительная информация: HTTP Cook ie Расширенное использование Manager - Руководство

...