rails 5.2
carriewave
rspec
capybara
画像のアップロードをシステムテストしたく、以下のようにしましたが要素を認識してくれません。
要素を非表示にしてたら認識しないそうですが、CSS側など特にそのような処理はしてません。
html
1 <div class="clearfix"> 2 <!--写真のプレビューとインプットボタンのul --> 3 <ul id="previews" class="list-inline"> 4 <li class="input"> 5 <label class="upload-label"> 6 <div class="upload-label__text"> 7 <p>ドラッグアンドドロップまたはクリックしてファイルをアップロード</p> 8 <div class="input-area"> 9 <input class="image_upload" multiple="multiple" type="file" name="item[images_attributes][0][src][]" id="item_images_attributes_0_src" /> 10 </div> 11 </div> 12 </label> 13 </li> 14 </ul> 15 </div>
ruby
1 attach_file('.upload-label__text', Rails.root + 'spec/fixtures/item_image/item.jpg', visible: false)
Failure/Error: attach_file('.upload-label__text', Rails.root + 'spec/fixtures/item_image/item.jpg', visible: false) Capybara::ElementNotFound: Unable to find file field ".upload-label__text" that is not disabled
attach_file('.upload-label__text'
の部分を、他の上位要素など色々変えてみましたがいずれも認識してくれませんでした。
attach_file('.upload-label'
attach_file('.image_upload'
attach_file('#previews',
attach_file('.upload_file'
どのように指定するが正しいのでしょうか?
分かる方教えて下さい。
どうぞ宜しくお願いします。
あなたの回答
tips
プレビュー