Ошибка ChromeDriver/Spinach/Selenium: не удалось прочитать свойство localStorage из окна: хранилище отключено внутри URL-адресов data:
Я получаю сообщение об ошибке при тестировании шпината (Ruby on Rails). Каждый тест не проходит по той же причине:
<unknown>: Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.
(Session info: chrome=46.0.2490.86)
(Driver info: chromedriver=2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b),platform=Mac OS X 10.10.5 x86_64)
Пример неудачного шага теста от Spinach:
step 'I visit the site' do
visit "/top?DEBUG_USER=#{$spinach_test_userid}"
page.execute_script('localStorage.clear()') # clear localStorage and reload to act as fresh login
visit "/top?DEBUG_USER=#{$spinach_test_userid}"
end
Идеи?
Настройка включает RSpec, Capybara, Spinach, Chromedriver, Selenium. Код включает в себя Mongo, Node.js, Rails...
ОБНОВЛЕНИЕ: Понял, что тесты не были настроены для запуска приложения перед запуском теста, поэтому он пытался найти локальное хранилище без правильного посещения страницы ("страница не найдена"). Запуск приложения вручную в отдельной вкладке терминала решил проблему. Оставляя этот вопрос для следующего n00b, кто нуждается в помощи.;-)
1 ответ
Проблема в том, что вы пытаетесь удалить данные локального хранилища до того, как фактически перейдете по URL-адресу.
Страница вашего браузера на самом деле выглядит так, как показано на скриншоте здесь.