2016-07-06 99 views
0

我正在Capybara運行Ruby on Rails集成測試。它目前失敗,因爲面板重疊了一個我需要點擊的按鈕。所以,我試圖點擊一個id#點擊關閉圖標關閉面板,然後點擊它下面的按鈕。但是,當我運行水豚測試時,關閉圖標並未出現。水豚不會等待圖標加載

這裏是按鈕的問題 - 它使用字體真棒雙角度(>>)圖標。

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

這裏是水豚測試我一起工作的一部分:

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 

這裏是正在執行測試的時間面板的屏幕截圖。 enter image description here

下面是如何使用關閉圖標查看面板的屏幕截圖。 enter image description here

+0

你正在使用哪個驅動程序? –

+0

我不確定驅動程序是什麼:D –

+0

https://github.com/jnicklas/capybara#drivers - 你很可能會使用硒(默認爲JS測試),poltergeist或capybara-webkit。 Selenium會在你的桌面上打開一個實際的瀏覽器,另外兩個是無頭的 –

回答

0

我也陷入了這個問題:
https://github.com/thoughtbot/capybara-webkit/issues/808
https://github.com/thoughtbot/capybara-webkit/issues/728

的最佳解決方案是使儀表可點擊的整個頂部欄,並有水豚自動爲的標識測試搜索頂部欄並點擊它。問題中沒有足夠的信息,但讓我們說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