Git Product home page Git Product logo

Comments (20)

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024 3

Thanks, I sorted it with the following change in my Dockerfile

RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
  && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \
  && apt-get update -qqy \
  && apt-get -qqy install google-chrome-stable \
  && rm /etc/apt/sources.list.d/google-chrome.list \
  && rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
  && sed -i 's/"$HERE\/chrome"/"$HERE\/chrome" --no-sandbox/g' /opt/google/chrome/google-chrome

from cuprite.

route avatar route commented on August 27, 2024 1

@smarquez1

BROWSER_PATH=/path/to/browser bundle exec rspec`

or pass it when instantiating a driver

Capybara::Cuprite::Driver.new(app, browser_path: "/path/to/browser")

from cuprite.

route avatar route commented on August 27, 2024

Yea seems like there's some issue when Chrome is already running. I have to take a look, but PRs are always welcome ;)

from cuprite.

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024

I'm getting the same issue when running through a docker container.
Chrome process did not produce websocket url within 1 seconds (RuntimeError)

from cuprite.

route avatar route commented on August 27, 2024

@gregoryduckworth that's because in docker as root you have to pass no-sandbox option:

Capybara.register_driver :cuprite do |app|
  Capybara::Cuprite::Driver.new(
    app,
    browser_options: {
      'no-sandbox': nil
    }
  )
end

from cuprite.

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024

Thanks for the reply @route, however when I add in the browser_options, I seem to be unable to run the tests and get the following error: no implicit conversion of Array into Hash (TypeError)

Capybara.register_driver :cuprite do |app|
  options = {
    headless: true,
    timeout: 30,
    browser_options: [
      'no-sandbox': nil
    ],
    url_blacklist: [
      'https://example.com'
    ]
  }
  Capybara::Cuprite::Driver.new(app, options)
end

from cuprite.

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024

Sorted it, just checked and noticed you mentioned {} instead of [].

Although now have the error Chrome is dead (Capybara::Cuprite::DeadBrowser) or Broken pipe (Errno::EPIPE)

from cuprite.

gvinicius avatar gvinicius commented on August 27, 2024

I'm facing the same problem. I do know what to do in order to solve this.

from cuprite.

route avatar route commented on August 27, 2024

I need more information other than that, browser version, full backtrace, options you are passing etc

from cuprite.

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024

Environment:

macOS 10.12.6
Google Chrome 71.0.3578.80
cuprite 0.4.0
ruby 2.5.3

Driver:

Capybara.default_driver = :cuprite
Capybara.register_driver :cuprite do |app|
  options = {
    browser_options: {
      'no-sandbox': nil
    },
    url_blacklist: [
      # Stop the EDR Survey from popping up
      'https://edigitalsurvey.com'
    ]
  }
  Capybara::Cuprite::Driver.new(app, options)
end

Capybara.javascript_driver = :cuprite

Then it is failing after running a test and the after hook, so struggling to provide a stack trace.

from cuprite.

gvinicius avatar gvinicius commented on August 27, 2024

Environment:

Ubuntu 16.04
Google Chrome 50.0.2661.102 
Cuprite 0.4.0
Ruby 2.5.0

Configs in spec_helper

require 'capybara/cuprite'
Capybara.javascript_driver = :cuprite
Capybara.server = :webrick

Full stack of the error:


Failures:

1) Login GENERATED
Got 0 failures and 2 other errors:

1.1) Failure/Error: visit '/signin'

RuntimeError:
Chrome process did not produce websocket url within 1 seconds
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:179:in `parse_ws_url'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:93:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:31:in `tap'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:31:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:236:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:50:in `initialize'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:22:in `new'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:22:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/driver.rb:26:in `browser'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/driver.rb:31:in `visit'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara/session.rb:277:in `visit'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara/dsl.rb:51:in `block (2 levels) in <module:DSL>'
# ./spec/features/login_spec.rb:5:in `block (2 levels) in <top (required)>'

1.2) Failure/Error: raise "Chrome process did not produce websocket url within #{timeout} seconds"

RuntimeError:
Chrome process did not produce websocket url within 1 seconds
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:179:in `parse_ws_url'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:93:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:31:in `tap'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser/process.rb:31:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:236:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:50:in `initialize'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:22:in `new'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/browser.rb:22:in `start'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/driver.rb:26:in `browser'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/cuprite-0.4.0/lib/capybara/cuprite/driver.rb:131:in `reset!'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara/session.rb:128:in `reset!'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara.rb:315:in `block in reset_sessions!'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara.rb:315:in `reverse_each'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara.rb:315:in `reset_sessions!'
# /home/gesteira/.rvm/gems/ruby-2.5.0@project/gems/capybara-3.13.2/lib/capybara/rspec.rb:18:in `block (2 levels) in <top (required)>'


from cuprite.

route avatar route commented on August 27, 2024

@gvinicius Google Chrome 50.0.2661.102 outdated, install >= 71

from cuprite.

route avatar route commented on August 27, 2024

@gregoryduckworth could you please try to use master branch? gem "cuprite", github: "machinio/cuprite"

from cuprite.

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024

@route - still getting the same Chrome is dead or Broken pipe errors

from cuprite.

gvinicius avatar gvinicius commented on August 27, 2024

@route , @gregoryduckworth after upgrading chrome to the latest version (72), setting BROWSER_PATH env var correctly, the error is no longer happening to me.

from cuprite.

route avatar route commented on August 27, 2024

@gregoryduckworth I believe it's env related, does your test suite work without docker?

from cuprite.

gregoryduckworth avatar gregoryduckworth commented on August 27, 2024

@route - Yeah it works fine without docker

from cuprite.

route avatar route commented on August 27, 2024

@gregoryduckworth could you please show all cmd flags you run chrome process on docker, take a look at https://github.com/machinio/cuprite/blob/master/spec/spec_helper.rb#L16

from cuprite.

route avatar route commented on August 27, 2024

@Dark-Sun fixed your original issue. I think it's almost time to release 1.0

from cuprite.

smarquez1 avatar smarquez1 commented on August 27, 2024

@gvinicius Can you give us an example of how to set the BROWSER_PATH ?

from cuprite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.