次の HTML スタックを使用してカスタム アップロード フォームを作成しました。
<form>
<label></label>
<input type="file">
</form>
ファイル フィールドはプロパティを使用して css を介して非表示にされdisplay: none
ます。そのため、ユーザーがラベル (カスタム スタイル) をクリックすると、ファイル添付ダイアログが呼び出されます。
私の機能テストでは、入力フィールドが非表示になっているため、ファイルを添付できません。考えられる解決策をいくつか試しましたが、どちらも機能しません。
find(:xpath, '//input', visible: false).set(some_file_path)
また
within('form') do
attach_file(:input, some_file_path, visible: false)
end
そして他の多く。いつも不明な位置エラーで要素をクリックできませんでした。入力フィールドに重なっているラベルを削除したら、それを表示して、合格したすべての仕様を実行します。したがって、ここでの問題は次の事実です。
- 入力ファイル フィールドには
display: none
プロパティがあります (そのため、見つかりません) - 隠しファイル欄に重なっているラベルがある(多分)
Capybara-webkit ドライバーを使用して Capybara にこのデリケートな状況を適切な方法で処理させる方法はありますか?