このようなhtml<input type='file' id='ok' class='lalalalala'>
私のコードはattach_file( "ok"、 "./ filename/publisher/upload_pic.jpg")ですが、失敗しました:失敗:
Capybara::ElementNotFound:
Unable to find file field "ok"
では、ファイルフィールドとは何ですか?ファイルをアップロードするにはどうすればよいですか?
カピバラのドキュメントから:
The file field can be found via its name, id or label text.
そして、あなたは明らかにこれをすでに持っています、それは少し不可解です。これをブロックするモーダルウィンドウがありますか、および/またはpage.driverが偶然に別のものに切り替えられていますか?実際には完全に必要というわけではありませんフォームボタンを操作してモーダルウィンドウまたはファイル/エクスプローラー/ファインダーウィンドウを表示する必要があるため、質問します。これにより、page.driverが混乱する場合があります(例:フォーカスをページの代わりにウィンドウ)。
この手順の直前にclick_buttonアクションを削除してから、次のことを試してください。
attach_file('ok', File.absolute_path('./fileset/publisher/upload_pic.jpg'))
これは以前、非常に親の深いdivで機能し、ボタンクラスになりました。