在Cucumber / Capybara下载或访问PDF网页

时间:2015-07-16 10:45:16

标签: pdf cucumber phantomjs capybara poltergeist

我目前正在测试一个生成并显示PDF作为页面的Web应用程序。这是在您登录的会话中完成的。

系统本身是用python编写的,但测试代码是使用Cuyumber编写的,使用Capybara和Poltergeist(phantomjs)支持的Cucumber。

有多种解决方案可用于测试pdf的内容,但访问或下载pdf是个问题。

使用capybara的访问命令:

page.visit "http://web_app_url/stuff/pdf_name.pdf"

或使用链接:

page.click_link("PDF")

导致失败并且不会移动到该页面。

使用此代码直接打开页面并保存pdf:

open('pdf_name.pdf', 'wb') do |file|
  file << open("http://web_app_url/stuff/pdf_name.pdf").read  
  file.write("register.pdf")
end

这个问题是它在capybara会话之外运行,因此重定向到登录界面 - 给我一个可爱的pdf,其中包含登录屏幕的内容。

我想要做的是使用上面的代码,但是在capybara正在使用的会话中。但是,如果不可能,下一个最好的事情就是下载并保存文件。

任何想法都会很棒。谢谢。

0 个答案:

没有答案