3

「メール」フィールドが 1 つと送信ボタンが 2 つある単純なフォームがあります。

最初のボタン「次へ」は、フォームのデフォルト アクション「/login」をトリガーします。2 番目のボタン「パスワードのリセット」には、フォームを新しい宛先「/reset_password」にリダイレクトする「formaction」要素があります。

<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 に答える