Перейти к содержимому

Фотография

HTTP Cookie Manager для всех Thread group.

http cookie manager

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 VitaliySloupok

VitaliySloupok

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Шипицын Виталий

Отправлено 13 января 2016 - 13:56

Здравствуйте.

 

Описание структуры:

Ввиду особенностей работы системы, сделал 1-го пользователя, который должен делать после авторизации большое количество параллельных действий. Для этого создал сценарии в двух Thread group, где:

в перовой: авторизация пользователя,

во второй: эти параллельные действия данного пользователя.

 

Добавил HTTP Cookie Manager поверх всех Thread group

http://myscreenshot....63148961504.png

 

В jmeter.properties указал значение сохранения куков на true

http://myscreenshot....74768733443.png

 

Результат:

Но в результате куки во вторую Thread group не передаются

http://myscreenshot....67215173398.png

 

(если данные запросы использовать в только в одной Thread group, то есть не создавать большое количество параллельных действий, а только одно, то все работает хорошо)

 

 

Вопрос:

Как сделать один HTTP Cookie Manager для всех имеющихся Thread group?

(пробовал использовать скрипты для передачи куков, используя Bean Shell, но похоже не так что-то делаю)

Может кто-то уже сталкивался с такой ситуацией?

Буду благодарен за помощь.

 


  • 0

#2 player1

player1

    Новый участник

  • Members
  • Pip
  • 61 сообщений
  • ФИО:Шайдров Павел
  • Город:Лимассол


Отправлено 13 января 2016 - 13:59

символ "#" перед строкой в пропертях означает, что текст, следующий за этим символом -- комментарий

всмысли что CookieManager.save.cookies так остался в дефолтном значении


  • 0

#3 VitaliySloupok

VitaliySloupok

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Шипицын Виталий

Отправлено 13 января 2016 - 14:28

Спасибо! Убрал #, только по прежнему куки не передаются.


  • 0

#4 VitaliySloupok

VitaliySloupok

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Шипицын Виталий

Отправлено 13 января 2016 - 15:21

Разобрался с передачей куков. 

Решение такое:

 

Первая Thread group, в ней есть запрос, откуда мы хотим извлечь куки. В этот запрос добавляем Bean Shell PostProcessor. В этом запросе пишем скрипт:

import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;
props.put("cookieOne","${COOKIE_имя актуального кука}");

Затем во второй Thread Group, в ней есть запрос, в который мы хотим поместить эти записанные куки. В этот запрос добавляем Bean Shell PreProcessor, и пишем следующий скрипт:

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


CookieManager manager = sampler.getCookieManager();
Cookie cookie1 = new Cookie("имя актуального кука",props.get("cookieOne"),"домен","путь",false,-1);
manager.add(cookie1);

При запуске куки предаются во вторую Thread Group и запрос работает корректно.

НО! Другие запросы по прежнему отваливаются, так как в них мы не передаем куки

http://myscreenshot....35157243389.png

 

Вопрос:

Можно ли как-нибудь улучшить запись куков в первой катушке. И распределить их на запросы из второй катушки? (в некоторых запросах разные куки содержатся)

Иначе сейчас мне приходится смотреть на соответствие куков в запросах (из каких именно запросов брать куки и в какие именно запросы их передавать). Другими словами, у меня почти в каждом запросе первой катушки есть BeanShell PostProcessor, и почти в каждом запросе второй катушке Bean Shell PreProcessor.

Как это можно реализовать?


  • 0



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных