【问题标题】:Capybara/Selenium unable to connect to phantomjs on ubuntuCapybara/Selenium 无法连接到 ubuntu 上的 phantomjs
【发布时间】:2016-02-02 09:08:39
【问题描述】:

我正在使用 Cucumber 和 Selenium。在我的 env.rb 中,我正在注册 phantomjs 驱动程序,如下所示:

Capybara.register_driver :phantomjs do |app|
  caps = Selenium::WebDriver::Remote::Capabilities.new
  caps['acceptSslCerts']=true
  caps['javascriptEnabled']=true
  caps['webStorageEnabled']=true
  caps['applicationCacheEnabled']=true
  caps['nativeEvents']=true
  Capybara::Selenium::Driver.new(app, :browser => :phantomjs, :desired_capabilities => caps)
end

该驱动设置为默认驱动如下:

Before do  
  Capybara.app_host = "www.google.com"
  Capybara.current_driver = :phantomjs
  Capybara.javascript_driver = :phantomjs
end

这在 Mac 上运行良好并且测试通过了。但是在 ubuntu 上我得到了这个错误

Connection refused - connect(2) for 127.0.0.1 port 8910 Errno:ECONNREFUSED

我使用 netstat 进行了检查,发现 phantomjs 正在运行。 我在 Ubuntu 15.04 上。我在 14.04 看到同样的问题

【问题讨论】:

  • 我认为,您应该首先在脚本末尾使用.quit 方法,其次 - 在启动脚本之前终止此进程。即使你的脚本完成了,因为 phantomjs 仍然可以工作
  • 我做了一个 ps -ef | grep phantomjs 来检查 phantomjs 是否正在运行,当脚本没有运行时它没有运行。它在脚本运行时运行,当我终止脚本时,phantomjs 进程也在终止。

标签: ruby ubuntu selenium-webdriver phantomjs capybara


【解决方案1】:

我假设你每次都面临这个错误,那么你需要更新 Selenium Standalone 服务器。

如果您间歇性地遇到这个问题,那么您也可以尝试重新启动 phantomjs

def restart_phantomjs
        puts "-> Restarting phantomjs: iterating through capybara sessions..."
        session_pool = Capybara.send('session_pool')
        session_pool.each do |mode,session|
          msg = "  => #{mode} -- "
          driver = session.driver
          if driver.is_a?(Capybara::Poltergeist::Driver)
            msg += "restarting"
            driver.restart
          else
            msg += "not poltergeist: #{driver.class}"
          end
          puts msg
        end
      end
      module_function :restart_phantomjs
 end

【讨论】:

    【解决方案2】:

    如果你跑

    sudo apt-get install phantomjs
    

    默认安装 1.9 版本。 我安装了最新版本 2.1.1,它运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多