水豚-如何测试链接到同一页面的不同部分?

里奇·托马斯

在我的Rails应用中,页面顶部有以下链接:

<ul>
  <li><%= link_to 'Group Chairperson', '#group_chair' %></li>
  <li><%= link_to 'Group Treasurer', '#group_treasurer' %></li>
  <li><%= link_to 'Group Secretary', '#group_secretary' %></li>
</ul>

在页面的更下方,我有以下表格行选择器:

<tr id="group_chair">

单击“组主席”链接会使浏览器按预期向下滚动到正确的表格行。现在,我想制定一个测试该功能的规格。我尝试了以下方法:

require 'spec_helper'

describe "Group officer duties page" do

  before { visit group_officer_duties_path }

  it "should scroll down to the right section" do
    click_link "Group Chairperson"
    expect(current_url).to eq "http://www.example.com/group_officer_duties#group_chair"
  end

end

我希望该测试通过,因为这是单击正确链接后浏览器的URL栏显示的内容。但是,我实际上得到了:

Failures:

  1) Group officer duties page should scroll down to the right section
     Failure/Error: expect(current_url).to eq "http://www.example.com/group_officer_duties#group_chair"

       expected: "http://www.example.com/group_officer_duties#group_chair"
            got: "http://www.example.com/group_officer_duties"

       (compared using ==)
     # ./spec/requests/group_officer_duties_nav_spec.rb:9:in `block (2 levels) in <top (required)>'

Finished in 0.94885 seconds
1 example, 1 failure

知道这是怎么回事吗?

克拉芬博克

不幸的是,我相信您不走运-以下答案来自乔纳斯·尼克拉斯本人:

锚永远不会提交给服务器,因此从该角度来看,current_url不包含锚是有意义的。恐怕在水豚内部我们对这种行为知之甚少。我的猜测是问题远不及HTMLUnit。

话虽这么说,我个人还是从不对URL声明任何内容,我发现在集成测试中这是一种不好的做法。不过那只是我的观点。

/乔纳斯

https://groups.google.com/forum/#!topic/ruby-capybara/KMEWM8nuZlE

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

水豚不会进入页面

来自分类Dev

水豚别名页面方法

来自分类Dev

水豚如何匹配元素

来自分类Dev

链接的水豚选择器

来自分类Dev

水豚修剪链接并获取ActionController :: RoutingError:

来自分类Dev

水豚集成测试“ TextAngular”输入

来自分类Dev

水豚测试中的存根时间

来自分类Dev

关闭水豚测试中的动画

来自分类Dev

集成测试:最佳,水豚和RSpec

来自分类Dev

UI反应水豚按钮单击测试

来自分类Dev

与水豚一起穿越树

来自分类Dev

如何在水豚中获得属性

来自分类Dev

最小的水豚/ Poltergeist测试返回空白页

来自分类Dev

水豚看到空白页-集成测试

来自分类Dev

水豚不会在测试中呈现页面

来自分类Dev

水豚测试中的页面变量是什么?

来自分类Dev

如何将水豚功能测试标记为待定?

来自分类Dev

如何测试公寓,Minitest,水豚和硒

来自分类Dev

在水豚/ Poltergeist中打开新标签页

来自分类Dev

耙测试未在minitest中进行水豚测试

来自分类Dev

水豚访问不会加载该页面

来自分类Dev

水豚:从加载的页面保存图像(而不是屏幕截图)

来自分类Dev

如果页面具有选择器-水豚

来自分类Dev

RSpec /水豚测试have_selector难题

来自分类Dev

水豚-硒-Ruby-测试动态ID

来自分类Dev

使用minitest水豚破坏铁轨中的测试

来自分类Dev

记录在Browserstack中运行的RSpec硒/水豚测试

来自分类Dev

带水豚的Rspec有时无法通过测试

来自分类Dev

测试javascript点击功能水豚附加文件图像上传