2

I create one capybara test. It works on local machine but at bitbucket pipeline not.

I set port

Capybara.server_port = 9516

but then the capybara test tries to connect to 9516. 

1) Visit back office The admin can sign in Failure/Error:
visit(back_office_path) Selenium::WebDriver::Error::WebDriverError:
unable to connect to chromedriver 127.0.0.1:9516
./spec/features/home_spec.rb:8:in `block (3 levels) in <top (required)>

Gemfile:

gem 'capybara', '~> 3.14.0'
gem 'selenium-webdriver', '~> 3.14.1'
gem 'webdrivers', '~> 3.0'

spec_helper.rb

require 'capybara/rspec'
require 'selenium/webdriver'
require 'webdrivers'

Capybara.register_driver(:headless_chrome) do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    chromeOptions: { args: %w[headless disable-gpu] }
  )

  Capybara::Selenium::Driver.new(
    app,
    browser: :chrome,
    desired_capabilities: capabilities
  )
end

Capybara.javascript_driver = :headless_chrome
Webdrivers::Chromedriver.required_version = '2.46'

Do you have some idea about how to solve it?

  • how are you installinng chromedriver on the machine? Are you sure it's in the PATH? – max pleaner May 16 '19 at 18:03
  • Setting `Capybara.server_port` sets the port Capybara runs the application under test on - it has absolutely nothing to do with chromedriver. What output are you getting when you don't set the `server_port`. What version of Chrome are you using, and why are you locking chromedriver at 2.46? – Thomas Walpole May 16 '19 at 20:05
  • @maxpleaner I use gem `webdrivers` that install chromedriver – Krzysztof Pastorczyk May 20 '19 at 14:16
  • @ThomasWalpole When I don't set port for capybara then I received message: `unable to connect to chromedriver 127.0.0.1:9516`. Webdriver use version '2.46' – Krzysztof Pastorczyk May 20 '19 at 14:17

0 Answers0