2014-06-17 13 views
11

这样 <input type='file' id='ok' class='lalalalala'>如何使用capybara上传文件?

的HTML我的代码是 attach_file( “OK”, “./文件集/发行人/ upload_pic.jpg”) 但我得到了失败: 失败:

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

那么什么是文件字段? 我该如何上传文件?

回答

16

从水豚文档:

The file field can be found via its name, id or label text. 

你清楚有这个已经,这是一个有点令人费解。有没有模式窗口阻止这个和/或是page.driver切换到其他的偶然?我问,因为它实际上是不完全必要与表单按钮交互,并导致出现模式或文件/资源​​管理器/ Finder窗口,有时这可能会混淆page.driver(例如:开关焦点到窗口而不是页)。

尽量只在这个步骤之前移除任何click_button动作,然后试试这个:

attach_file('ok', File.absolute_path('./fileset/publisher/upload_pic.jpg')) 

这对我以前工作,在超深父DIV它结束了一个按钮类。