0

Я использую window.localStorage.removeItem("name of localStorage variable you want to remove"); для удаления двух разных ключей локального хранилища в спецификации, они успешно удалены.Транспортир - очистить локальное хранилище до потери соединения по Spec

Следующий шаг - ввести другую страницу моего приложения, чтобы отобразить диалоговое окно с запросом на повторный вход из-за потери сеанса, но выполнение этого с помощью транспортира не работает, даже если ключи localStorage очищены правильно, но делая это вручную (удаляя их при нажатии правой кнопки мыши и Delete), он работает, и появляется диалоговое окно.

В чем может быть проблема?

+0

Как вы очищаете сессии и локальное хранилище вручную? Это какой-то плагин? Или просто devtools? – Xotabu4

+0

Просто devtools, удалив их оттуда (Application-> LocalStorage-> Удалить два ключа), вручную работает, и после изменения из другого состояния снова появляется диалоговое окно с просьбой войти в систему, но когда тест выполняется, он не работает , клавиши просто появляются снова, не запрашивая снова вход в систему. –

ответ

0

Рассмотрите возможность стереть куки, локальное и сеансовое хранилище, а не вытирать только 2 клавиши.

browser.manage().deleteAllCookies(); 
browser.executeScript('window.sessionStorage.clear(); window.localStorage.clear();') 
+0

Не работает: S Я не могу найти причину, почему, если я делаю это вручную, это работает, и если это делает транспортир, это не работает: S –

0

Похоже, что на вашем сайте хранятся файлы cookie для разных доменов или файлы cookie httponly.

Webdriver может удалять только файлы cookie для того же домена, в котором вы сейчас находитесь. Поэтому, если ваш API дает вам некоторый authtoken - он не будет удален, поскольку он хранится для разных доменов. То же самое для HTTPonly-файлов cookie.

HttpOnly cookie 
An HttpOnly cookie cannot be accessed by client-side APIs, such as JavaScript. This restriction eliminates the threat of cookie theft via cross-site scripting (XSS). However, the cookie remains vulnerable to cross-site tracing (XST) and cross-site request forgery (XSRF) attacks. A cookie is given this characteristic by adding the HttpOnly flag to the cookie. 

Я хотел бы предложить вам перейти к API URL и вызвать browser.manage().deleteAllCookies(); метод там, или вызов вручную выхода из системы на вашем сайте

Смежные вопросы