如何在水豚中单击此按钮

jwa*_*all 18 testing rspec ruby-on-rails capybara ruby-on-rails-3

请帮我解决水豚这个问题

我在水豚中有一个这样的按钮:

<input type="submit" value="Verify" name="verify" id="verify" class="button">
Run Code Online (Sandbox Code Playgroud)

我试过了

click_button "verify"

但它给出了错误:

Failure/Error: find('#verify').click
NoMethodError:
  undefined method `node_name' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

Mar*_*Huk 21

作者回答

问题出在html代码中:

<div>
<form>
<div>    
</div>
</div>
  <input type="submit" value="Verify" name="verify" id="verify" class="button">
</form>
Run Code Online (Sandbox Code Playgroud)

因为有一个冗余</div>,所以<input>在表格之外处理,从而capybara导致那些错误.删除冗余后</div>,一切正常.

  • 尝试HAML以避免这种错误 (2认同)

bon*_*nix 16

尝试添加js: truedescribe.当您没有包含按钮的表单时会发生这种情况.