Size: a a a

QA — Load & Performance

2019 November 08

ВС

Вячеслав Смирнов in QA — Load & Performance
Egor Parkhomenko
Добрый день, коллеги! Может кто сталкивался и сможет помочь?
В общем.
Есть web ресурс, скрипт на котором я записываю рекордером в LR в режиме web html (в гугле говорится что веб сокеты этот режим тоже пишет).
Записался.
При реплее замечаю что у меня ошибка с сожержанием вроде как "умерла ?кука?=идентификатор сессии" или "сессия не обнаружена". Разбираюсь, замечаю что в УРЛе вида "http://ресурс/822/abracadbra11/..." 822 это какой-то айди сессии и abracadabra11 это генерящийся (НЕ приходящий в ответе) идентификатор.

Итог:
Подставляя в скрипте рандомные значения вместо 822 и abra.. получаю ошибку что таких сессий нет. Сессия в ответе не приходит, т.к. мы её и не просим. В режиме разработчика в Chrome ничего интересного нет.
Разраб сказал что это веб сокеты и он процессов этих сокетов не знает, для него это черный ящик.

Вопрос:
Что делать? Может есть решение?
Рекордер LoadRunner Стоить к сколько знаю запускает каждый раз новый браузер. Но если это не так, то можно начать запись вручную с чистого профиля. Открытие браузера в режиме инкогнито, например. Тогда точно в запись попадет момент, когда появился нужный идентификатор в трафике.

Сохранённый HAR-лог (из консоли) можно будет изучить в har viewer или другом инструменте. И импортировать в LoadRunner. Это поддерживается
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Если хитрый идентификатор формируется клиентом, на JavaScript, то понравился подход используемый @ant_nch в его проекте - он вызывает JavaScript код из инструмента нагрузки. Из LoadRunner тоже можно вызывать JS, тем самым формируя нужные тела запросов для веб-сокетов
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав Смирнов
Если хитрый идентификатор формируется клиентом, на JavaScript, то понравился подход используемый @ant_nch в его проекте - он вызывает JavaScript код из инструмента нагрузки. Из LoadRunner тоже можно вызывать JS, тем самым формируя нужные тела запросов для веб-сокетов
Так а как сервер узнает о клиентском идентификаторе?
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав Смирнов
Если хитрый идентификатор формируется клиентом, на JavaScript, то понравился подход используемый @ant_nch в его проекте - он вызывает JavaScript код из инструмента нагрузки. Из LoadRunner тоже можно вызывать JS, тем самым формируя нужные тела запросов для веб-сокетов
Антона бы на гатлинг подсадить 😂
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Ιωάννης Τσεκούρι
Так а как сервер узнает о клиентском идентификаторе?
Он по web socket соединению передается от клиента серверу
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Ιωάννης Τσεκούρι
Антона бы на гатлинг подсадить 😂
И ты туда же :-)
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав Смирнов
И ты туда же :-)
Ну он же нативнее для их кейса подойдёт
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Ещё и фронтлайн с AWS пулами
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Вячеслав Смирнов
Он по web socket соединению передается от клиента серверу
Ну вот, значит либо там хитрый алгоритм токена, либо явно передаётся от клиента к серверу
источник

Д

Дмитрий in QA — Load & Performance
В Гатлинге можно настроить распределенную нагрузку? Не дошел ещё до этого)
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Дмитрий
В Гатлинге можно настроить распределенную нагрузку? Не дошел ещё до этого)
Можно
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Дмитрий
В Гатлинге можно настроить распределенную нагрузку? Не дошел ещё до этого)
источник

Д

Дмитрий in QA — Load & Performance
Круто, спасибо! Поинвестигаю)
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
В gatling несложно поместить что-либо внешнее в сессию.
И может быть
https://en.m.wikipedia.org/wiki/Nashorn_(JavaScript_engine)
Туда вольётся хорошо.

Да, может быть
источник

ВС

Вячеслав Смирнов in QA — Load & Performance
Или можно разогнать JMeter и добавить в него Nashorn как альтернативу Rhino
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
2 топ доклада на хайлоаде Tinkoff и Raiffeisen
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
Краткое резюме
источник

P

PsyDebug in QA — Load & Performance
Ιωάννης Τσεκούρι
2 топ доклада на хайлоаде Tinkoff и Raiffeisen
Я три насчитал. Не включая эти два
источник

ΙΤ

Ιωάννης Τσεκούρι in QA — Load & Performance
PsyDebug
Я три насчитал. Не включая эти два
Какие расскажи
источник