我有一个简单的表单,其中包含一个“电子邮件”字段和两个提交按钮。
第一个按钮'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
它肯定会触发正确的按钮,但似乎忽略了'形成'。
有什么想法吗?
答案 0 :(得分:0)
你可能知道,这是一个HTML5属性,因为Capybara默认使用RackTtest作为其驱动程序/浏览器(这是一个非常准确,没有JS支持驱动程序),它可能根本就没有看到它。我假设您需要使用像PhantomJS(http://phantomjs.org/index.html)这样的无头浏览器进行设置。其中支持HTML5属性。