summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-05-24 13:56:31 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-05-25 09:36:39 +0200
commit2c33ee9e226645c98f9d421e5570ab5dd0ad4c4f (patch)
tree9b5ff89399ea196ae5fcaebe2b941cd812691cbb /qa
parent6984c2eede7794d3c2498c9e91e26296fbb4c6de (diff)
downloadgitlab-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/Dockerfile23
-rw-r--r--qa/qa/specs/config.rb2
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]
}
)