当我调用page.driver .render(使用phantomjs,capybara和poltgergeist)时,测试只会挂起

时间:2013-01-16 23:05:44

标签: ruby-on-rails capybara phantomjs testunit poltergeist

我对这个问题感到沮丧..我有一个Test :: Unit测试...使用Capybara + Poltergeist + PhantomJS ..试图截取屏幕..

但是当我打电话给它时..

        page.driver.render "screenshot.png"

它只是挂起..

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

毕竟,我只需要使用Selenium Web驱动程序,以及这些特定版本,它们似乎在某些时候不同步,并且capybara /它的包装器将无法与下面的驱动程序通信,因此因此,幽灵是无法进入的。

此配置对我有用:

  

gem'capybara','1.1.4'

     

gem'selenium-webdriver','2.27.2'

答案 1 :(得分:0)

尝试更具体。以下内容将其放在临时文件夹中,确保它存在,将其放在那里,然后在准备就绪时打开它。

  dir = "#{Rails.root}/tmp/cache/capybara"
  file = "#{dir}/#{Time.now.strftime('%Y-%m-%d-%H-%M-%S')}.png"
  FileUtils.mkdir_p dir
  page.driver.render file
  wait_until { File.exists?(file) }
  system "open #{file}"