2016-07-06 2 views
0

Capybara에서 Ruby on Rails 통합 테스트를 실행하고 있습니다. 패널이 클릭해야하는 버튼과 겹치기 때문에 현재 실패하고 있습니다. 그래서 id # click-to-close 아이콘을 클릭하여 패널을 닫고 그 아래의 버튼을 클릭하려고합니다. 그러나 카피 바라 테스트를 실행할 때 닫기 아이콘이 나타나지 않습니다.Capybara는 아이콘로드를 기다리지 않습니다.

여기에 해당 버튼이 있습니다. 글꼴에는 멋진 두 번 각도 (>>) 아이콘이 사용됩니다.

다음
page.accept_confirm do 
    sleep 5.seconds #wait for help dash to appear 
    page.save_screenshot "XPath.png" 
    page.find("#click-to-close").click 
    sleep 5.seconds #wait for help dash to disappear 
    click_on "Remove", wait: 25, match: :first 
end 

테스트가 실행되고있는 시점에서 패널의 스크린 샷입니다 : 여기

<div class="fa fa-angle-double-right fa-lg right-sidebar-show close-button" id="click-to-close"></div> 

내가 작업하고있는 카피 바라 테스트의 일부입니다. enter image description here

다음은 패널이 닫는 아이콘으로 표시되는 방식의 스크린 샷입니다. enter image description here

+0

어떤 드라이버를 사용하고 있습니까? –

+0

나는 운전자가 무엇인지 확신 할 수 없다 : D –

+0

https://github.com/jnicklas/capybara#drivers - 셀레늄 (JS 테스트의 기본값), 폴터 테리 스트 또는 카피 바라 - 웹킷을 사용하고있을 가능성이 큽니다. 셀레늄은 데스크탑의 실제 브라우저를 열고 나머지 두 가지는 헤드리스입니다 –

답변

0

나는이 문제에 실행중인 :
https://github.com/thoughtbot/capybara-webkit/issues/808
https://github.com/thoughtbot/capybara-webkit/issues/728

최적의 솔루션은 대시 클릭의 전체 메뉴 표시 줄을 만드는 것입니다, 그리고 카피 바라가의 ID에 대한 검색 테스트를 자동화했다 상단 막대를 클릭하십시오. 충분한 정보가 질문에 주어지지 않았지만 ID가 # top-bar라고 가정 해 봅시다. 다음과 같이하십시오 :

page.accept_confirm do 
    sleep 5.seconds #wait for help dash to appear 
    page.find("#top-bar").click 
    click_on "Remove", wait: 25, match: :first 
end 
관련 문제