2016-07-06 130 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