Как истечь текущий сеанс, который истекает через определенное время раньше? - PullRequest
0 голосов
/ 25 июня 2019

Как я могу заставить веб-драйвер селена полагать, что мы уже прошли определенное время, а текущий сеанс истек?

Ответы [ 3 ]

1 голос
/ 25 июня 2019

Это зависит от используемого вами механизма истечения сеанса.Если вы используете браузер для удаления cookie-файла сеанса, вы можете просто удалить cookie .Обратите внимание, что если ваше приложение полагается исключительно на истечение срока действия файлов cookie браузера, ваше приложение подвержено недостаточной продолжительности сеанса.Также следует рассмотреть возможность добавления срока действия на стороне сервера.

Чтобы проверить срок действия на стороне сервера, вы можете смоделировать сеанс с истекшим сроком действия, изменив дату окончания срока действия токена в базе данных сервера, чтобы иметь дату окончания срока действия в прошлом.

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

1 голос
/ 25 июня 2019

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

0 голосов
/ 26 июня 2019

Я делал это раньше на одном из наших сайтов, но он не обманывает WebDriver, он включал изменение JS на странице, которая контролировала тайм-ауты, чтобы сократить ожидаемое время.Вам нужно будет поговорить с dev или исследовать JS на странице, чтобы узнать, как / когда установлен тайм-аут.В моем случае это было связано с повторным запуском метода JS с другим значением времени ожидания, но ваш сценарий, несомненно, будет другим и потребует некоторых исследований, проб и ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...