Capybaraのfill_inメソッドで、lavelがない時にfieldを特定する方法


●はじめに

fill_inメソッドでlavelが無いfieldを指定する際に、どのように指定すれば良いか学習しました。

●結論

text_fieldのvalue_nameで指定する。

●方法


  <h2>ログイン</h2>

   <div class="field">
     <%= f.email_field :email, autofocus: true, autocomplete: "email",  placeholder: " Email" %>
   </div>

このようにtext.lavelが無く、コードからはどのように指定すれば良いかわからない。
そこで「検証」ツールを使用し、text_fieldのvalue_nameを確認する。

1.右クリックを押し、検証を選択する。

2.指定したいfieldを選択する。

3.該当するコード部分をクリックし、value_nameを確認する。

4.value_nameを入力し、fieldを特定する。


context "フォームの入力が正しい時" do
  it "ログインに成功し、フラッシュメッセージを表示する" do
    fill_in "user[email]", with: "#{user.email}"
    fill_in "user[password]", with: "password"
以下略

以上の方法で特定が可能です! 
ちなみにidを指定している場合はidでも特定が可能そうです。