2011-03-17 36 views

回答

2

这是类似我刚才已经回答了另一个问题,希望它有助于Anybody have idea how to test file download using cucumber?

+1

嗯,我试过了,但第一个'内容类型'断言爆发与'失败/错误:结果=页。 response_headers ['Content-Type']。should ==“application/octet-stream” Capybara :: NotSupportedByDriverError' – Autodidact 2011-03-18 06:39:24

+0

Capybara有哪些版本?我正在使用'水豚(0.4.1.2)'。 – ToreyHeinz 2011-03-18 11:02:33

+0

OOOPS ..水豚有什么版本?我正在使用'水豚(0.4.1.2)'。在你的步骤中,试着“放入page.methods.sort”并看看你得到了什么。如果response_headers存在,则尝试'puts page.response_headers'。 – ToreyHeinz 2011-03-18 11:08:55

0

的下载框是浏览器的功能。水豚模拟一个浏览器,但没有所有的UI等。(例如,它看起来像一个浏览器到你的应用程序,所以使用它,你大多会跳过整个文件下载UI的东西。它会像浏览器一样,需要为了告诉浏览器放置文件的位置并开始下载)

如果您尝试测试下载框(超出点击次数以开始下载),您现在正在测试浏览器,而不是您的浏览器应用。如果那是你章程的一部分并且值得你花时间,那么你自己。

要实际测试下载框,您将不得不使用浏览器实例,并使用像Firewatir/Watir或Selenium这样的工具来实际“驱动”浏览器,以及其他一些gem实际上自动化OS UI级别(在我们通常使用autoit的Windows上),以便点击事物并填写浏览器文件下载UI的值。

+0

感谢您的解释。但我不再在这个项目中。正如你已经解释过它像测试浏览器本身一样,我不会再费心寻找这样的测试。 – Autodidact 2011-07-14 08:53:19

1

@Millisami水豚:: NotSupportedByDriverError固定给我!

我所要做的就是从包括我的黄瓜测试中删除@javascript标记。我的意思是:

@search 情景:Recieving文件 ...

,而不是

@search @javascript
情景:Recieving文件 ...

希望它有助于:-)