2017-02-22 24 views
0

Кто-нибудь знает, как я могу обойти эту ошибку блокировки sqlite? Я пробовал спать, но это не помогает.capybara selenium sqlite error

ActiveRecord::StatementInvalid:   ActiveRecord::StatementInvalid: SQLite3::BusyException: database is locked: commit transaction 

Испытание

assert_selector(:css, '#visu', visible: :hidden) 
    click_button("show/hide") 
    sleep(20) 
    assert_selector(:css, '#visu') 

Я использую 'селеном WebDriver', '~> 2.53.4'

+0

Есть много вопросов здесь, в stackoverflow, покрывающем это сообщение об ошибке, никто из них не решает вашу проблему? – Iceman

+0

Да, я немного исследовал до того, как спросил. Это может быть что-то странное, связанное с этой конкретной версией webdriver, потому что мне пришлось понизить драгоценный камень из-за другой ошибки. – Ayrad

+0

Я считаю маловероятным, что это связано с вашим тестированием, а не напрямую. Можете ли вы использовать Postgres или Mysql для разработки или тестирования? – Iceman

ответ

1

Вам нужно настроить database_cleaner и отключить транзакционной тестирование, однако реальный ответ здесь нужно использовать надлежащий DB-Postgres или Mysql (вам все равно нужно настроить database_cleaner - https://github.com/DatabaseCleaner/database_cleaner, чтобы ваши тесты работали правильно)

Дополнительно вы shoul d можно использовать новый селен-webdriver, вам также нужно установить geckodriver при использовании FF 48+ или указать марионетку: false, если использовать FF 47, как описано в верхней части Capybara README

+0

. ОК, я попробую это и отчитаю! и как кто-то новый для тестирования, я впечатлен, но количество вещей, которые нужно добавить, чтобы проверить простую ссылку переключения! (minitest-rails-capybara, selenium, mozilla, новый db, очиститель, geckodriver, если FF48 :) Кажется, нравится, что рельсы должны интегрировать модуль для js-совместимых функций. – Ayrad

+2

Входит в Rails 5.1 - https://github.com/ rails/rails/pull/26703 –

+0

Я думаю, что у меня есть некоторая несовместимость версий при использовании последней версии selenium-webdriver, geckodriver и FF 51, поскольку я получаю WebDriverError: не могу подключиться к ошибке Mozilla. – Ayrad

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