【问题标题】:Test just hangs when I call page.driver .render (using phantomjs, capybara and poltgergeist)当我调用 page.driver .render 时测试挂起(使用 phantomjs、capybara 和 poltgergeist)
【发布时间】:2023-03-08 06:14:01
【问题描述】:

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

但是当我调用它时..

        page.driver.render "screenshot.png"

它只是挂了..

有什么想法吗?谢谢!

【问题讨论】:

  • 你加入了Capybara::DSL 吗?
  • 是的,我有,它只是挂在 page.driver.render

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


【解决方案1】:

毕竟,我只能使用 Selenium Web 驱动程序,而这些特定版本似乎在某些时候不同步,并且 capybara/它的包装器将无法与下面的驱动程序通信,因此因此,Phantom 无法访问。

这个配置对我有用:

宝石'水豚','1.1.4'

gem 'selenium-webdriver', '2.27.2'

【讨论】:

    【解决方案2】:

    尝试更具体。下面将它放在一个临时文件夹中,确保它存在,把它放在那里,然后在它准备好时打开它。

      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}"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多