2017-02-22 6 views
0

아무도 내가이 sqlite 잠금 오류를 해결할 수있는 방법을 알아? 나는 잠을 잤으나 도움이되지 못합니다.capybara 셀레늄 sqlite 오류

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

나는, '~> 2.53.4'당신은 트랜잭션 테스트를 database_cleaner을 구성하고 중지해야

+0

많은 질문이 있습니다 여기에 stackoverflow이 오류 메시지를 다루는, 그들 중 누구도 귀하의 문제를 해결합니까? – Iceman

+0

네, 물어보기 전에 약간 연구했습니다. 다른 오류 때문에 보석을 다운 그레이드해야했기 때문에 webdriver의 특정 버전과 관련된 이상한 것일 수 있습니다. – Ayrad

+0

이것이 직접 테스트 한 것이 아니라 테스트와 관련이 있다고보기는 어렵습니다. 개발/테스트에 Postgres 나 Mysql을 사용할 수 있습니까? – Iceman

답변

1

그러나 진짜 답을 '셀레늄 webdriver'를 사용하고

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

테스트 여기에 적절한 DB-Postgres 또는 Mysql을 사용하는 것입니다 (테스트를 제대로 수행하려면 database_cleaner-https://github.com/DatabaseCleaner/database_cleaner을 구성해야합니다)

또한 shoul 더 새로운 셀레늄 - webdriver를 사용할 수있게하려면, FF 48+를 사용하는 경우 geckodriver를 설치하거나 마리오네트를 지정해야합니다 : 카피 바라 README의 상단에 FF 47을 사용하는 경우 false

+0

알았어. 테스트를 처음하는 사람이라면 감명 받았지만 간단한 토글 링크를 테스트하기 위해 추가 할 항목이 많습니다! (minitest-rails-capybara, selenium, mozilla, 새 db, 클리너, geckodriver가 FF48 인 경우 :) 레일이 js enabled 기능 테스트를위한 모듈을 통합해야한다고 생각합니다. – Ayrad

+2

레일 5.1 - https://github.com/ rails/rails/pull/26703 –

+0

WebDriverError : Mozilla 오류에 연결할 수 없으므로 최신 버전의 selenium-webdriver, geckodriver 및 FF51을 사용할 때 일종의 버전 비 호환성이 있다고 생각합니다. – Ayrad