ruby-on-rails-3 – 使用Capybara进行测试

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – 使用Capybara进行测试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的视图模板中有一个简单的link_to_function
<%= link_to_function "add new category","$('#category_name').focus()" %>

我想用capybara使用请求规范来测试.基本上这个规范应该是这样的

it "focuses category form when I click 'add new category'" do
  visit new_article_path
  click_link "add new category"

  # unfortunately there's nothing like 'has_focus?'
  find_field("category_name").should have_focus  
end

问题是,我无法找到任何东西,这将检查元素是否具有焦点.
我唯一找到的是这个

page.evaluate_script('document.focus')[:id]

然而,我不支持capybara-wekbit驱动程序,我使用它来避免每次测试运行打开浏览器.

解决方法

我只是使用以下代码(使用phantomjs驱动程序,但我相信它也适用于webkit):
page.evaluate_script("document.activeElement.id") == "some_id"

附:一年的问题没有答案.他们应该给我一个徽章吗?

猜你在找的Ruby相关文章