将鼠标悬停在水豚上

时间:2011-08-14 09:22:50

标签: selenium mouseevent capybara

我在页面上有一个按钮,只有当鼠标悬停在某个元素上时才会出现。但我无法弄清楚如何模仿这个,然后点击链接,这样我就可以使用Capybara和Selenium进行黄瓜测试。

2 个答案:

答案 0 :(得分:5)

您可能需要为此使用自定义步骤,例如:

When /^I click "([^"]*)" inside element "([^"]*)"$/ do |button, element_name| 

在里面,你写了类似的东西:

begin
  evaluate_script("$('#{element_name}').trigger('mouseover')")
  rescue Capybara::NotSupportedByDriverError
end

然后点击你想要的那个按钮:)

答案 1 :(得分:0)

我找到了一种使用Capybara + Selenium驱动程序来模拟“鼠标悬停”的方法。试试这段代码:

module Capybara
  module Node
    class Element
      def hover
        @session.driver.browser.action.move_to(self.native).perform
      end
    end
  end
end