TC позволяет не задумываться о динамических вещах типа кукисов. Они возвращаются с сервера при запросе (при соответствующих настройках) и используются для конкретного пользователя на протяжении всего сценария.
Но столкнулся с небольшой проблемкой. Разработчик реализовал построение кукисов через JS, срабатывающего на событие.
Попытаюсь подробно описать суть.
После гет запроса с сервера приходит response c нормальным куки типа (JSESSIONID=C53746A153AEE7470EEC9F05A1518E70; Path=/Testing/; HttpOnly), но помимо этого в возвращаемой странице приходит такой код
<button type="submit" onClick="beginTesting('726ad039-4d9c-4711-9ea1-87d0e107cd78');">Начать</button>После нажатия на кнопку запускается JS и серверу передается пост запрос уже с измененным куки. Он принимает вид (JSESSIONID=C53746A153AEE7470EEC9F05A1518E70; SessionTest=726ad039-4d9c-4711-9ea1-87d0e107cd78), т.е. добавляется переменная к обычному JSESSIONID. После POST запроса происходит (302 Moved Temporarily), вызывается GET, который уже работает с новым куки. И далее на протяжении всеё сессии используется эта куки и переменная обрабатывается сервером, поэтому она важна.
Но вот TC не может с этим справиться, ибо он работает чисто по запросам и куки не принимает нужный вид с нужной переменной, которую использует сервер. От этого сразу после первого POST запроса на любой запрос серверу идет ошибка 500 и в логе только ворнинги. Тест теряет смысл
Что посоветуете? У меня есть несколько мыслей, но не знаю насколько просто и правильно будет это реализовать в TC. и возможно ли вообще?
Идеи:
- Создать пул переменных и самому для каждого нового виртуального пользователя строить POST запрос серверу в нужном ему виде.
- Как-то обрабатывать результат предыдущего GET и вытаскивать из события кнопки нужный текст для передачи в POST
Возможно ли что-то из этого?