Ошибка 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-адресу.

Страница вашего браузера на самом деле выглядит так, как показано на скриншоте здесь.

Другие вопросы по тегам