atlassian / docker-chromium-xvfb

Docker image for running browser tests against headless Chromium
MIT License
398 stars 125 forks source link

Can't get selenium to use the wrapper script #25

Open apenney opened 7 years ago

apenney commented 7 years ago

Hi,

First let me apologize if this doesn't make sense, I have literally never used any of the technologies involved here (except for docker), I just agreed to help one of the dev teams rebase their custom container to something more maintained.

They use Capybara with Cucumber, and this then starts up a Selenium driver (against Chrome) to actually run the tests. When the tests kick in I get:

@test-suite
Feature: Smoke Test

  @smoke-test @login-IC @showDynamicProductStrategies
  Scenario: Configure one medical product and two groups # features/regression/build-smoke-test.feature:5
 unknown error: an X display is required for keycode conversions, consider using Xvfb
   (Session info: chrome=57.0.2987.98)
   (Driver info: chromedriver=2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5),platform=Linux 4.4.0-51-generic x86_64) (Selenium::WebDriver::Error::UnknownError)

I changed the configuration for capybara to:

Capybara.register_driver :selenium do |app| # sets the context of a web app
  Capybara::Selenium::Driver.new(app,
    browser:                 :chrome,
    :desired_capabilities => Selenium::WebDriver::Remote::Capabilities.chrome(
      'chromeOptions' => {
        'binary' => '/usr/bin/google-chrome'
      }
    )
  ) # sets chrome as the browser

Trying to force it through the wrapper script but it still seems to fail. I know this isn't exactly a problem with your container, I am just literally begging for help here as I don't know what else to even do to troubleshoot this. Anything you could suggest would definitely be appreciated!