如何使用capybara上传文件?

时间:2014-06-17 15:13:27

标签: capybara

像这样的HTML        <input type='file' id='ok' class='lalalalala'>

我的代码是     attach_file(&#34; OK&#34;&#34; ./文件集/出版者/ upload_pic.jpg&#34) 但我失败了: 故障:

 Capybara::ElementNotFound:
   Unable to find file field "ok"

那么什么是文件字段? 我怎样才能上传文件?

1 个答案:

答案 0 :(得分:18)

来自Capybara的文档:

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中,最终得到了一个按钮类。