3

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

第一个按钮“下一步”触发表单默认操作:“/登录”。第二个按钮“重置密码”有一个“formaction”元素,可将表单重定向到新的目的地:“/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

它肯定触发了正确的按钮,但似乎忽略了“formaction”。

有任何想法吗?

4

1 回答 1

0

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

于 2013-08-03T12:42:46.153 回答