2017-02-22 64 views
0

任何人都知道我可以解决这个sqlite锁定错误?我尝试了睡眠,但没有帮助。capybara selenium sqlite错误

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有关的奇怪东西,因为我因为另一个错误而必须降级gem。 – Ayrad

+0

我觉得这不太可能与测试有关,而不是直接相关。你不能使用Postgres或Mysql进行开发/测试吗? – Iceman

回答

1

您需要配置database_cleaner和禁止交易的测试,但真正的答案测试这里是使用适当的数据库 - Postgres或Mysql(你仍然需要配置database_cleaner - https://github.com/DatabaseCleaner/database_cleaner为您的测试才能正常工作)

此外你的肩膀d能够使用较新的selenium-webdriver,如果使用FF 48+,则需要安装geckodriver,或者指定牵线木偶:如果使用FF 47作为记录在Capybara自述文件顶部的错误

+0

好吧,我会尝试这个并报告回来!作为新的测试人员,我留下了深刻的印象,但要添加一些东西来测试简单的切换链接! (minitest的铁轨水豚,硒,mozilla,一个新的数据库,清洁工,geckodriver如果FF48 :)似乎喜欢铁轨应该集成一个模块为js启用功能测试 – Ayrad

+2

这是在Rails 5.1 - https://github.com/ rails/rails/pull/26703 –

+0

我认为我在使用最新版本的selenium-webdriver,geckodriver和FF 51时遇到某种版本不兼容问题,因为我收到WebDriverError:无法连接到Mozilla错误。 – Ayrad