我在我的Gemfile中添加了activeadmin。
我跑了:
rails g active_admin:install Admin User
rake db:migrate
然后我跑了:
bundle exec rake test:integrations
我收到了这个错误:
Capybara::Poltergeist::ClickFailed:
Click at co-ordinates [330.5, 714] failed. Poltergeist detected another element
with CSS selector 'html body div#ui-datepicker-div.ui-datepicker.ui-widget.ui-widget-content.ui-helper-clearfix.ui-corner-all div.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all div.ui-datepicker-title span.ui-datepicker-month'
at this position. It may be overlapping the element you are trying to click.
我尝试按this post中的建议排除activeadmin js和css,但我仍然收到错误。
有没有人对如何解决这个问题有任何想法?
答案 0 :(得分:18)
我假设消息来自失败的水豚步骤。今天我在针对ajax表单使用以下内容时遇到了这个问题:
find('some-css').click()
不幸的是,有时它会返回非常令人沮丧的重叠css错误。我所做的是改为使用这种方法:
find('some-css').trigger('click')
嘿presto每次都有效:)
希望这有帮助。
答案 1 :(得分:1)
我收到此错误是因为我测试了悬停,然后需要点击工具提示下方的链接。解决方案是在page.find('.sp-logo').hover
之前添加click_link
以使工具提示无法使用。
答案 2 :(得分:1)
我还有另一个错误,Chrome和Poltergeist上的find_link
无法点击带有EM标签的A标签及其中的一些文字,尽管它在Firefox和rack_test中运行良好。解决方案是将click_link(link)
替换为find('a em', text: link).click
。不幸的是,这不会对rack_test起作用,导致这种黑客攻击:
When /^I click the emphasized text "([^\"]*)"$/ do |link|
if Capybara.current_driver == :rack_test
click_link(link)
else
find('a em', text: link).click
end
end
答案 3 :(得分:1)
在我的情况下,想要测试第二次点击 - 忘记第一次点击后显示的模态。在阅读了大量的CSS选择器之后找到它。
detected another element with CSS selector
'html.js...alotofotherclasses...div.sweet-alert.show-sweet-alert.visible'
通过解雇它来解决它 - 基本上 - 只需仔细阅读信息。
click_button I18n.t('mail_form.submit')
expect(page).to have_content I18n.t('mail_form.flash.submitted')
click_button I18n.t('alert.ok')