Ruby on rails 3 如何使用cucumber/capybara测试文件下载对话框

Ruby on rails 3 如何使用cucumber/capybara测试文件下载对话框,ruby-on-rails-3,rspec,cucumber,capybara,Ruby On Rails 3,Rspec,Cucumber,Capybara,我四处搜索,找不到如何使用capybara/cucumber测试文件下载盒 下图更清楚地提出了这个问题。 这与我刚才回答的另一个问题类似,希望有帮助下载框是浏览器的一个功能。Capybara模拟浏览器,但没有所有UI等。。(例如,对于您的应用程序来说,它看起来像一个浏览器,因此使用它时,您通常会跳过整个文件下载UI内容。对于浏览器来说,它看起来就像有人为了告诉浏览器将文件放在何处并开始下载而做了任何需要做的事情) 如果您正在尝试测试下载框(除了开始下载所需的单击之外),那么您现在正在测试的是浏览

我四处搜索,找不到如何使用capybara/cucumber测试文件下载盒

下图更清楚地提出了这个问题。


这与我刚才回答的另一个问题类似,希望有帮助

下载框是浏览器的一个功能。Capybara模拟浏览器,但没有所有UI等。。(例如,对于您的应用程序来说,它看起来像一个浏览器,因此使用它时,您通常会跳过整个文件下载UI内容。对于浏览器来说,它看起来就像有人为了告诉浏览器将文件放在何处并开始下载而做了任何需要做的事情)

如果您正在尝试测试下载框(除了开始下载所需的单击之外),那么您现在正在测试的是浏览器,而不是应用程序。就像你自己,如果这是你的章程的一部分,值得你花时间


要实际测试下载框,您必须运行一个浏览器实例,并使用像Firewatir/Watir或Selenium这样的工具来实际“驱动”浏览器,以及其他一些gem来实际在OS UI级别上实现自动化(在windows上,我们通常使用autoit)以便单击内容并填写浏览器文件下载UI的值

@Millisami水豚::不受驱动程序支持,错误已为我修复

我要做的是从cucumber测试中删除@javascript标记,其中包括。我的意思是:

@搜寻 场景:接收文件

而不是

@搜寻 @javascript
场景:接收文件


希望有帮助:-)

我试过了,但是第一个“内容类型”断言出现了“失败/错误:结果=页面。响应标题[“内容类型]”。应该==“应用程序/八位字节流”Capybara::NotSupportedByDriverError`你有什么版本的Capybara?我使用的是
capybara(0.4.1.2)
.OOOPS。。你有什么版本的水豚?我使用的是
capybara(0.4.1.2)
。在您的步骤中,只需尝试
放置page.methods.sort
,看看您得到了什么。如果存在响应头,请尝试将页面放置在响应头上。我已升级到0.4.1.2。方法
response\u headers
确实有响应,但当我尝试查找
页面.response\u headers
时,我得到
(rdb:1)p页面.response\u headers Capybara::NotSupportedByDriverError异常:Capybara::NotSupportedByDriverError
感谢您的解释。但是我不再参与这个项目了。正如您所解释的,这就像测试浏览器本身一样,我不再费心寻找这样的测试了。