diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-05-24 13:56:31 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-05-25 09:36:39 +0200 |
commit | 2c33ee9e226645c98f9d421e5570ab5dd0ad4c4f (patch) | |
tree | 9b5ff89399ea196ae5fcaebe2b941cd812691cbb /qa | |
parent | 6984c2eede7794d3c2498c9e91e26296fbb4c6de (diff) | |
download | gitlab-ce-2c33ee9e226645c98f9d421e5570ab5dd0ad4c4f.tar.gz |
Dockerize headless chrome browser for GitLab QAfeature/gb/qa/switch-to-headless-chrome-via-selenium-webdriver
Diffstat (limited to 'qa')
-rw-r--r-- | qa/Dockerfile | 23 | ||||
-rw-r--r-- | qa/qa/specs/config.rb | 2 |
2 files changed, 20 insertions, 5 deletions
diff --git a/qa/Dockerfile b/qa/Dockerfile index 72c82503542..9e2a74ef991 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -1,10 +1,25 @@ FROM ruby:2.3 LABEL maintainer "Grzegorz Bizon <grzegorz@gitlab.com>" -RUN sed -i "s/httpredir.debian.org/ftp.us.debian.org/" /etc/apt/sources.list && \ - apt-get update && apt-get install -y --force-yes \ - libqt5webkit5-dev qt5-qmake qt5-default build-essential xvfb git && \ - apt-get clean +## +# Update APT sources and install some dependencies +# +RUN sed -i "s/httpredir.debian.org/ftp.us.debian.org/" /etc/apt/sources.list +RUN apt-get update && apt-get install -y wget git unzip xvfb + +## +# At this point Google Chrome Beta is 59 - first version with headless support +# +RUN wget -q https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb +RUN dpkg -i google-chrome-beta_current_amd64.deb; apt-get -fy install + +## +# Install chromedriver to make it work with Selenium +# +RUN wget -q https://chromedriver.storage.googleapis.com/2.29/chromedriver_linux64.zip +RUN unzip chromedriver_linux64.zip -d /usr/local/bin + +RUN apt-get clean WORKDIR /home/qa diff --git a/qa/qa/specs/config.rb b/qa/qa/specs/config.rb index 403f5c3906e..78a93828d36 100644 --- a/qa/qa/specs/config.rb +++ b/qa/qa/specs/config.rb @@ -56,7 +56,7 @@ module QA capabilities = Selenium::WebDriver::Remote::Capabilities.chrome( 'chromeOptions' => { 'binary' => '/opt/google/chrome-beta/google-chrome-beta', - 'args' => %w[headless disable-gpu] + 'args' => %w[headless no-sandbox disable-gpu] } ) |