水豚和形成

时间:2012-04-19 11:29:26

标签: ruby-on-rails-3 capybara

我有一个简单的表单,其中包含一个“电子邮件”字段和两个提交按钮。

第一个按钮'Next'触发表单默认操作:'/ login'。 第二个按钮“重置密码”有一个“格式”元素,可将表单重定向到新目标:'/ reset_password'。

<button type="submit" name="login_button">Next</button>
<button class="secondary_button" type="submit" name="reset_button" formaction="/reset_password">Reset Password</button>

表单效果非常好,但是在使用Capybara进行测试时:

click_button "Reset Password"

它会触发表单的默认操作,而不是正确的操作。我已确认默认操作是通过以下方式触发的:

save_and_show_page

它肯定会触发正确的按钮,但似乎忽略了'形成'。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你可能知道,这是一个HTML5属性,因为Capybara默认使用RackTtest作为其驱动程序/浏览器(这是一个非常准确,没有JS支持驱动程序),它可能根本就没有看到它。我假设您需要使用像PhantomJS(http://phantomjs.org/index.html)这样的无头浏览器进行设置。其中支持HTML5属性。