Обработка нескольких файлов cookie и использование в следующей теме в jmeter - PullRequest
0 голосов
/ 03 июля 2018

В моем плане тестирования JMeter мое приложение генерирует два файла cookie "XSRF-Token" и "laravel_session". В одной теме у меня есть запрос на вход в систему, а в другой - внутренние страницы. Я определил менеджер HTTP COOKIES на уровне плана тестирования, но он не работает. Тогда я попробовал с препроцессором BeanShell и постпроцессором вот мой код: Почтовый процессор Beanshell в теме логина:

props.put("MyCookie","${COOKIE_XSRF-TOKEN}");
props.put("MyCookie1","${COOKIE_laravel_session}");

Beanshell pre-processor in another thread:

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

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

CookieManager manager = sampler.getCookieManager();

Cookie cookie = new Cookie("XSRF-TOKEN",props.get("MyCookie"),"mydomain","/",true,0);
manager.add(cookie);

Cookie cookie1 = new Cookie("laravel_session",props.get("MyCookie1"),"mydomain",/",true,0);
manager.add(cookie1);

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

1 Ответ

0 голосов
/ 03 июля 2018

Сначала проверьте, установлен ли cookie с первым запросом, используя менеджер файлов cookie. Если ваш запрос на вход в систему показывает файлы cookie в прослушивателе дерева результатов просмотра. Если это не так, то, вероятно, возникли проблемы с приложением. Проверьте вторую ссылку внизу.

Обход проблемы: - Добавьте следующую строку в файл user.properties, который находится в папке bin

CookieManager.save.cookies=true

Перезапустите JMeter, чтобы забрать объект

Теперь вы должны иметь возможность ссылаться на значение cookie как $ {COOKIE_XSRF-TOKEN}, где это необходимо, например, добавить еще один HTTP Cookie Manager в качестве дочернего элемента второго запроса и определить XSRF_TOKEN и сеанс laravel.

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

См. Ниже статью JMeter для получения дополнительной информации об обработке файлов cookie в тестах JMeter. https://www.blazemeter.com/blog/using-http-cookie-manager-jmeter-not-cookie-jar https://www.blazemeter.com/blog/http-cookie-manager-advanced-usage-a-guide

Надеюсь, это поможет.

...