LoginSignup
0
0

More than 3 years have passed since last update.

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

Posted at

●はじめに

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.右クリックを押し、検証を選択する。

スクリーンショット 2020-04-08 23.37.47.png

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

スクリーンショット 2020-04-08 23.40.30.png

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

スクリーンショット 2020-04-08 23.42.29.png

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


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

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0