Как извлечь сессию из предыдущего теста и внедрить переменные сессии как часть пути URL - PullRequest
1 голос
/ 03 апреля 2019

Я пытаюсь написать приемочные тесты с кодовым восприятием.

Я сделал первый приемочный тест, который загружает страницу со сравнением продуктов.

Я сохраняю снимок сеанса с $I->saveSessionSnapshot('Comparison');

Во втором тесте я хочу продолжить с этой страницы Сравнение.

В начале этого второго теста я написал: $I->loadSessionSnapshot('Comparison');

Но после этого мне нужно написать: $I->amOnPage('/comparison/{userToken}');

Пользовательский токен находится в сеансе, в переменной userToken, которую я хотел бы добавить в свой URL.

Как я могу это сделать?

1 Ответ

3 голосов
/ 04 апреля 2019

Вы не можете этого сделать.

Session snapshot не означает снимок сеанса на стороне сервера, это снимок сеанса браузера и фактически хранит все файлы cookie.

Если бы это был функциональный тест, вы могли бы реализовать какой-то способ прямого доступа к хранилищу сеансов на основе идентификатора сеанса, но при приемочном тесте у вас нет прямого доступа к коду или хранилищу на стороне сервера.

Было бы лучше изменить код приложения так, чтобы он читал userToken из сеанса, если он не указан в URL, тогда вы можете использовать $I->amOnPage('/comparison/'); в тесте.

...