【发布时间】:2011-03-17 11:16:22
【问题描述】:
我四处寻找,没有找到如何使用 capybara/cucumber 测试文件下载框?
下图把问题问得更清楚了。
【问题讨论】:
标签: ruby-on-rails-3 rspec cucumber capybara
我四处寻找,没有找到如何使用 capybara/cucumber 测试文件下载框?
下图把问题问得更清楚了。
【问题讨论】:
标签: ruby-on-rails-3 rspec cucumber capybara
这与我刚刚回答的另一个问题相似,希望对Anybody have idea how to test file download using cucumber?有帮助
【讨论】:
capybara (0.4.1.2)。
capybara (0.4.1.2)。在您的步骤中尝试puts page.methods.sort,看看您会得到什么。如果 response_headers 存在,请尝试puts page.response_headers。
response_headers 确实响应但是当我尝试查找page.response_headers 时,我得到(rdb:1) p page.response_headers Capybara::NotSupportedByDriverError Exception: Capybara::NotSupportedByDriverError
@Millisami Capybara::NotSupportedByDriverError 已为我修复!
我必须做的是从我的黄瓜测试中删除 @javascript 标记,该标记已包含在内。我的意思是:
@搜索 场景:接收文件 ...
而不是
@搜索
@javascript
场景:接收文件
...
希望对你有帮助:-)
【讨论】:
下载框是浏览器的功能。 Capybara 模拟浏览器,但没有所有 UI 等。(例如,它看起来像您的应用程序的浏览器,因此使用它您通常会跳过整个文件下载 UI 内容。它看起来就像有人做了他们所做的任何事情一样需要告诉浏览器将文件放在哪里并开始下载)
如果您正在尝试测试下载框(除了开始下载所需的单击之外),您现在正在测试浏览器,而不是您的应用程序。如果这是您章程的一部分并且值得您花时间,那么您自己。
要实际测试下载框,您将必须运行一个浏览器实例,并使用 Firewatir/Watir 或 Selenium 之类的工具来实际“驱动”浏览器,并使用其他一些 gem 在操作系统 UI 级别(在 Windows 上我们通常使用 autoit),以便单击事物并填写浏览器文件下载 UI 的值。
【讨论】: