我已经搜索了这个在SO和Google上的好时光。我是一个新手(只有7个月的开发时间),但我想解释一下为什么水豚的click_button
不响应不在形式的按钮
以此为例
<div id="btn-div">
<%= button_tag('Attach new file', id: "attach-file-btn", class: "btn btn-info") %>
</div>
在这种情况下,当您编写测试时,会出现类型错误
undefined method `node_name' for nil:NilClass
然而,当你把它放在这样的form
时,它可以正常工作
<form id="btn-form">
<%= button_tag('Attach new file', id: "attach-file-btn", class: "btn btn-info") %>
</form>
如果可以,请提供解释为何会发生这种情况。
并考虑以下因素
xpath
或find
找到该按钮时,它可用,但是click_button
不起作用更新
点击按钮的代码与此类似:
describe "Getting to the deployable tools page" do
before do
@tool = FactoryGirl.create(:tool)
@tool.set_status(1)
end
before { visit assigned_tools_path }
before { click_button('attach-file-btn') }
it { should have_content('select tools to add') }
it { should have_css('#non-successful-tool-adding') }
end
答案 0 :(得分:2)
尝试使用水豚探测器,然后调用点击它,如下所示:
page.find('#attach-file-btn').click
答案 1 :(得分:0)
如果您只想在带有文字Attach new file
的浏览器上点击文件节目,请使用:
click_button 'Attach new file'