Skip to content
This repository was archived by the owner on Jun 30, 2021. It is now read-only.

Commit d15d3a6

Browse files
committed
Selenium 3 stable & Chrome 54.0.2840.59
1 parent 5fc4e41 commit d15d3a6

23 files changed

+234
-147
lines changed

.travis.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ branches:
1313
env:
1414
global:
1515
- TEST_SLEEPS="0.7"
16+
- ADDED_TEST_SLEEP="6.5"
1617

1718
# sudo: required
1819
# dist: trusty
@@ -26,8 +27,8 @@ matrix:
2627
# com.docker.docker Incompatible CPU detected
2728
# Docker requires a processor with virtualization capabilities
2829
- env:
29-
- DOCKER_VERSION="1.12.1"
30-
DOCKER_COMPOSE_VERSION="1.8.1"
30+
- DOCKER_VERSION="1.12.2"
31+
DOCKER_COMPOSE_VERSION="1.8.0"
3132
OPERATING_SYSTEM="osx"
3233
include:
3334
# Linux with docker:stable compose:stable
@@ -40,7 +41,7 @@ matrix:
4041
- docker
4142
env:
4243
- DOCKER_VERSION="stable"
43-
DOCKER_COMPOSE_VERSION="1.8.0"
44+
DOCKER_COMPOSE_VERSION="1.8.1"
4445
DOCKER_PUSH=true
4546
DOCKER_PUSH_LATEST=true
4647
# Linux with docker:beta/older compose:beta/older
@@ -51,7 +52,7 @@ matrix:
5152
services:
5253
- docker
5354
env:
54-
- DOCKER_VERSION="1.12.2-rc2"
55+
- DOCKER_VERSION="1.12.1"
5556
DOCKER_COMPOSE_VERSION="1.8.1"
5657
# Linux with docker:stable compose:beta/older
5758
- os: linux
@@ -62,7 +63,7 @@ matrix:
6263
- docker
6364
env:
6465
- DOCKER_VERSION="stable"
65-
DOCKER_COMPOSE_VERSION="1.8.1"
66+
DOCKER_COMPOSE_VERSION="1.8.0"
6667
# Linux with docker:beta/older compose:stable
6768
- os: linux
6869
language: ruby
@@ -71,14 +72,14 @@ matrix:
7172
services:
7273
- docker
7374
env:
74-
- DOCKER_VERSION="1.12.2-rc2"
75-
DOCKER_COMPOSE_VERSION="1.8.1"
75+
- DOCKER_VERSION="1.12.1"
76+
DOCKER_COMPOSE_VERSION="1.8.0"
7677
# Mac OSX: only test native docker version
7778
- os: osx
7879
osx_image: xcode8
7980
env:
80-
- DOCKER_VERSION="1.12.1"
81-
DOCKER_COMPOSE_VERSION="1.8.1"
81+
- DOCKER_VERSION="1.12.2"
82+
DOCKER_COMPOSE_VERSION="1.8.0"
8283
OPERATING_SYSTEM="osx"
8384

8485
before_install:

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,40 @@ Note image ids also change after scm-source.json has being updated which trigger
77
###### To get container versions
88
docker exec grid versions
99

10+
## TBD_DOCKER_TAG
11+
+ Date: TBD_DATE
12+
+ Upgrade Selenium to stable 3.0.0 (was beta)
13+
+ Upgrade Chrome major to 54.0.2840.59
14+
+ Upgrade Geckodriver from 0.10.0 to 0.11.1
15+
+ Upgrade Ubuntu xenial to 20161010
16+
+ Fix #124 Incorrect screen resolution
17+
+ Fix #125 Through requirements-sele-2.txt and requirements-sele-3.txt
18+
+ Upgrade supervisord 4.0.0 commit to 2015-10-09
19+
+ Remove /usr/bin/wires as is no longer used
20+
+ Image tag details:
21+
+ Selenium 2: TBD_SELENIUM_2_VERSION (TBD_SELENIUM_2_REVISION)
22+
+ Selenium 3: 3.0.0 (350cf60)
23+
+ Chrome stable: TBD_CHROME_STABLE
24+
+ Firefox for Selenium 2: TBD_FIREFOX_FOR_SEL2
25+
+ Firefox for Selenium 3: TBD_FIREFOX_FOR_SEL3
26+
+ Geckodriver: TBD_GECKO_DRIVER
27+
+ Chromedriver: TBD_CHROME_DRIVER (TBD_CHROMEDRIVER_COMMIT)
28+
+ Java: TBD_JAVA_VENDOR Java TBD_JAVA_BUILD
29+
+ Timezone: TBD_TIME_ZONE
30+
+ FROM ubuntu:UBUNTU_FLAVOR-UBUNTU_DATE
31+
+ Python: TBD_PYTHON_VERSION
32+
+ Sauce Connect TBD_SAUCE_CONNECT_VERS, build TBD_SAUCE_CONNECT_BUILD TBD_SAUCE_CONNECT_REVISION
33+
+ BrowserStack Local version TBD_BROWSER_STACK_VERSION
34+
+ Tested on kernel dev host: 4.4.0-43-generic x86_64
35+
+ Tested on kernel CI host: TBD_HOST_UNAME
36+
+ Built at dev host with: Docker version 1.12.2, build bb80604
37+
+ Built at CI host with: Docker version TBD_DOCKER_VERS, build TBD_DOCKER_BUILD
38+
+ Built at dev host with: Docker Compose version 1.8.1, build 878cff1
39+
+ Built at CI host with: Docker Compose version TBD_DOCKER_COMPOSE_VERS, build TBD_DOCKER_COMPOSE_BUILD
40+
+ Image size: TBD_IMAGE_SIZE
41+
+ Digest: TBD_DIGEST
42+
+ Image ID: TBD_IMAGE_ID
43+
1044
## 3.0.0b4b
1145
+ Date: 2016-10-07
1246
+ Support Selenium IDE tests

CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ For pull requests or local commits:
77
docker exec grid versions && ./test/after_script && travis lint
88
open ./images/grid2_console.png && open ./images/grid3_console.png && open ./videos/mobile_emulation/*.mkv
99
open test/seleIDE/videos/rc/sele_ide.mkv
10-
git checkout -b tmp-3.0.0b4b && git checkout ./images/grid2_console.png && git checkout ./images/grid3_console.png
10+
git checkout -b tmp-3.0.0c && git checkout ./images/grid2_console.png && git checkout ./images/grid3_console.png
1111
#git add ... git commit ... git push ... open pull request
1212

1313
For repository owners only:
1414

15-
git commit -m "Support Selenium IDE tests"
16-
git tag -d latest && git tag 3.0.0b4b && git push origin tmp-3.0.0b4b && git push --tags
15+
git commit -m "Selenium 3 stable & Chrome 54.0.2840.59"
16+
git tag -d latest && git tag 3.0.0c && git push origin tmp-3.0.0c && git push --tags
1717

1818
-- Wait for Travis to pass OK
1919
-- Make sure changes got merged into master by elgalubot
2020

21-
git checkout master && git pull && git branch -d tmp-3.0.0b4b && git push origin --delete tmp-3.0.0b4b
21+
git checkout master && git pull && git branch -d tmp-3.0.0c && git push origin --delete tmp-3.0.0c
2222

2323
-- Re-add TBD_* section in CHANGELOG.md starting with TBD_DOCKER_TAG
2424
-- If Chrome version changed upload:
@@ -28,17 +28,17 @@ For repository owners only:
2828
### Chrome artifact
2929
Keep certain bins if chrome version changed for example:
3030

31-
cd ~/tmp_binaries && VER="53.0.2785.143" && NAME="google-chrome-stable_${VER}_amd64" && echo ${NAME}
31+
cd ~/tmp_binaries && VER="54.0.2840.59" && NAME="google-chrome-stable_${VER}_amd64" && echo ${NAME}
3232
wget -nv --show-progress -O ${NAME}.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
3333
md5sum ${NAME}.deb > ${NAME}.md5 && shasum ${NAME}.deb > ${NAME}.sha
3434
cp ${NAME}.md5 ${NAME}.sha ~/dosel/binaries
3535

3636
## Retry
3737
Failed in Travis? retry
3838

39-
git tag -d 3.0.0b4b && git push origin :3.0.0b4b
39+
git tag -d 3.0.0c && git push origin :3.0.0c
4040
#git add ...
41-
git commit --amend && git tag 3.0.0b4b && git push --force origin tmp-3.0.0b4b && git push --tags
41+
git commit --amend && git tag 3.0.0c && git push --force origin tmp-3.0.0c && git push --tags
4242

4343
## Docker push from Travis CI
4444
Travis [steps](https://docs.travis-ci.com/user/docker/#Pushing-a-Docker-Image-to-a-Registry) involve `docker login` and docker credentials encryptions.

Dockerfile

Lines changed: 64 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
###################################################
44
#== Ubuntu xenial is 16.04, i.e. FROM ubuntu:16.04
55
# search for more at https://registry.hub.docker.com/_/ubuntu/tags/manage/
6-
FROM ubuntu:xenial-20160923.1
6+
FROM ubuntu:xenial-20161010
77
ENV UBUNTU_FLAVOR="xenial" \
8-
UBUNTU_DATE="20160923.1"
8+
UBUNTU_DATE="20161010"
99

1010
#== Ubuntu wily is 15.10, i.e. FROM ubuntu:15.10
1111
# FROM ubuntu:wily-20151208
@@ -435,14 +435,14 @@ RUN apt-get -qqy update \
435435
python-openssl \
436436
libssl-dev libffi-dev \
437437
&& pip install --upgrade pip \
438-
&& pip install --upgrade setuptools \
439-
&& pip install --upgrade selenium \
440-
&& pip install --upgrade retrying \
441438
&& rm -rf /var/lib/apt/lists/*
439+
# && pip install --upgrade setuptools \
442440

443-
#=========================================
444-
# Python3 for Supervisor, others
445-
#=========================================
441+
#=========================================================
442+
# Python3 for Supervisor, selenium tests, and other stuff
443+
#=========================================================
444+
# Note Python2 comes already installed so better stick to
445+
# it to avoid occupying more disk space
446446
# Note Python3 fails installing mozInstall==1.12 with
447447
# NameError: name 'file' is not defined
448448
# RUN apt-get -qqy update \
@@ -454,6 +454,18 @@ RUN apt-get -qqy update \
454454
# libssl-dev libffi-dev \
455455
# && pip3 install --upgrade pip \
456456
# && rm -rf /var/lib/apt/lists/*
457+
# # && pip3 install --upgrade setuptools \
458+
# # make some useful symlinks that are expected to exist
459+
# RUN cd /usr/local/bin \
460+
# && { [ -e easy_install ] || ln -s easy_install-* easy_install; } \
461+
# && ln -s idle3 idle \
462+
# && ln -s pydoc3 pydoc \
463+
# && ln -s python3 python \
464+
# && ln -s python3-config python-config \
465+
# && mv /usr/bin/python /usr/bin/python2 \
466+
# && ln -s /usr/bin/python3 /usr/bin/python \
467+
# && python --version \
468+
# && pip --version
457469

458470
ENV CPU_ARCH 64
459471
ENV SEL_HOME ${NORMAL_USER_HOME}/selenium
@@ -501,18 +513,19 @@ RUN mkdir -p ${SEL_HOME}
501513
#====================
502514
# Supervisor install
503515
#====================
504-
# https://github.com/Supervisor/supervisor
516+
# TODO: Upgrade to supervisor stable 4.0 as soon as is released
517+
# Check every now and then if version 4 is finally the stable one
518+
# https://pypi.python.org/pypi/supervisor
519+
# https://github.com/Supervisor/supervisor
505520
# RUN apt-get -qqy update \
506521
# && apt-get -qqy install \
507522
# supervisor \
508-
# 2016-06-28 commit: 154cb4c84f28ac, version: supervisor-4.0.0.dev0
509-
# 2016-04-11 commit: 3e541a34a4ab74, version: supervisor-4.0.0.dev0
510-
# 2016-03-06 commit: e4a37c6f8d1cb6, version: supervisor-4.0.0.dev0
511-
# 2016-02-01 commit: eb904ccdb3573e, version: supervisor-4.0.0.dev0
512-
# 2015-06-24 commit: b3ad59703b554f, version: supervisor-4.0.0.dev0
523+
# 2016-02-01 commit: eb904ccdb3573e, supervisor/version.txt: 4.0.0.dev0
524+
# 2016-04-11 commit: 3e541a34a4ab74, supervisor/version.txt: 4.0.0.dev0
525+
# 2016-06-28 commit: 154cb4c84f28ac, supervisor/version.txt: 4.0.0.dev0
513526
# 2015-08-24 commit: 304b4f388d3e3f, supervisor/version.txt: 4.0.0.dev0
514-
# TODO: Upgrade to supervisor stable 4.0 as soon as is released
515-
RUN SHA="154cb4c84f28ac3e0ac1ce5409faea65c15d2d02" \
527+
# 2015-10-09 commit: 427eb2bc6b08f7, supervisor/version.txt: 4.0.0.dev0
528+
RUN SHA="427eb2bc6b08f788573deb91d1391d93f8b58a1b" \
516529
&& pip install --upgrade \
517530
"https://github.com/Supervisor/supervisor/zipball/${SHA}" \
518531
&& rm -rf /var/lib/apt/lists/*
@@ -652,6 +665,19 @@ RUN cd /tmp \
652665
&& mv BrowserStackLocal /usr/local/bin \
653666
&& which BrowserStackLocal
654667

668+
#==============================================
669+
# Java blocks until kernel have enough entropy
670+
# to generate the /dev/random seed
671+
#==============================================
672+
# See: SeleniumHQ/docker-selenium/issues/14
673+
RUN apt-get -qqy update \
674+
&& apt-key update -qqy \
675+
&& apt-get -qqy install \
676+
haveged rng-tools \
677+
&& service haveged start \
678+
&& update-rc.d haveged defaults \
679+
&& rm -rf /var/lib/apt/lists/*
680+
655681
#---------------------#
656682
# FIREFOX_VERSIONS 40 #
657683
#---------------------#
@@ -735,40 +761,6 @@ RUN mkdir -p ${SEL_HOME} && cd ${SEL_HOME} \
735761
&& mv firefox firefox-for-sel-2 \
736762
&& sudo ln -fs ${SEL_HOME}/firefox-for-sel-2/firefox /usr/bin/firefox
737763

738-
#============
739-
# GeckoDriver
740-
#============
741-
ENV GECKOD_VER="0.10.0" \
742-
GECKOD_URL="https://github.com/mozilla/geckodriver/releases/download"
743-
RUN wget --no-verbose -O /tmp/geckodriver.tar.gz \
744-
"${GECKOD_URL}/v${GECKOD_VER}/geckodriver-v${GECKOD_VER}-linux64.tar.gz" \
745-
&& rm -rf /opt/geckodriver* \
746-
&& tar -C /opt -xvzf /tmp/geckodriver.tar.gz \
747-
&& mv /opt/geckodriver /usr/bin/geckodriver \
748-
&& chmod +x /usr/bin/geckodriver \
749-
&& ln -fs /usr/bin/geckodriver /opt/geckodriver \
750-
&& ln -fs /usr/bin/geckodriver /usr/bin/wires \
751-
&& rm /tmp/geckodriver.tar.gz
752-
# && ln -fs /usr/bin/geckodriver ${FF_DEST}/geckodriver \
753-
# && ln -fs /usr/bin/geckodriver ${FF_DEST}/wires \
754-
755-
# && rm -rf ${NORMAL_USER_HOME}/firefox-src
756-
# RUN mkdir -p ${NORMAL_USER_HOME}/firefox-src \
757-
# && cd ${NORMAL_USER_HOME}/firefox-src \
758-
# && mkdir -p ${FIREFOX_DEST} && cd ${FIREFOX_DEST} \
759-
# RUN cd ${NORMAL_USER_HOME}/firefox-src \
760-
# && for FF_VER in $(echo ${FIREFOX_VERSIONS_LAST} | tr "," "\n"); do \
761-
# mozdownload --application=firefox \
762-
# --locale=${FF_LANG} --retry-attempts=1 \
763-
# --platform=linux64 --log-level=WARN --version=${FF_VER} \
764-
# && export FIREFOX_DEST="${SEL_HOME}/firefox-${FF_VER}" \
765-
# && mkdir -p ${FIREFOX_DEST} \
766-
# && mozinstall --app=firefox \
767-
# firefox-${FF_VER}.${FF_LANG}.linux64.tar.bz2 \
768-
# --destination=${FIREFOX_DEST} \
769-
# && rm firefox-${FF_VER}.${FF_LANG}.linux64.tar.bz2 \
770-
# ;done
771-
772764
#-----------#
773765
# Fix perms #
774766
#-----------#
@@ -784,8 +776,8 @@ USER ${NORMAL_USER}
784776
# Selenium
785777
#==========
786778
# Selenium 3
787-
ENV SEL_DIRECTORY="3.0-beta4" \
788-
SEL_VERSION="3.0.0-beta4"
779+
ENV SEL_DIRECTORY="3.0" \
780+
SEL_VERSION="3.0.0"
789781
RUN mkdir -p ${SEL_HOME} \
790782
&& export SELBASE="https://selenium-release.storage.googleapis.com" \
791783
&& export SELPATH="${SEL_DIRECTORY}/selenium-server-standalone-${SEL_VERSION}.jar" \
@@ -834,7 +826,7 @@ RUN mkdir -p ${NORMAL_USER_HOME}/tmp && cd ${NORMAL_USER_HOME}/tmp \
834826
# TODO: Use Google fingerprint to verify downloads
835827
# https://www.google.de/linuxrepositories/
836828
# Also fix .deb file names with correct version
837-
RUN latest_chrome_version_trigger="53.0.2785.143" \
829+
RUN latest_chrome_version_trigger="54.0.2840.59" \
838830
&& mkdir -p ${NORMAL_USER_HOME}/chrome-deb \
839831
&& export CHROME_URL="https://dl.google.com/linux/direct" \
840832
&& wget -nv -O \
@@ -892,6 +884,22 @@ RUN ln -s ${SEL_HOME}/chromedriver /usr/bin \
892884
&& chown -R ${NORMAL_USER}:${NORMAL_GROUP} ${SEL_HOME} \
893885
&& rm -rf /var/lib/apt/lists/*
894886

887+
#============
888+
# GeckoDriver
889+
#============
890+
ENV GECKOD_VER="0.11.1" \
891+
GECKOD_URL="https://github.com/mozilla/geckodriver/releases/download"
892+
RUN wget --no-verbose -O /tmp/geckodriver.tar.gz \
893+
"${GECKOD_URL}/v${GECKOD_VER}/geckodriver-v${GECKOD_VER}-linux64.tar.gz" \
894+
&& rm -rf /opt/geckodriver* \
895+
&& tar -C /opt -xvzf /tmp/geckodriver.tar.gz \
896+
&& chmod +x /opt/geckodriver \
897+
&& rm /tmp/geckodriver.tar.gz
898+
# below moved to entry.sh
899+
# && mv /opt/geckodriver /usr/bin/geckodriver \
900+
# && ln -fs /usr/bin/geckodriver /opt/geckodriver \
901+
# && ln -fs /usr/bin/geckodriver /usr/bin/wires \
902+
895903
#=========
896904
# GNOME Shell provides core interface functions like switching windows,
897905
# launching applications or see your notifications
@@ -947,19 +955,6 @@ RUN ln -s ${SEL_HOME}/chromedriver /usr/bin \
947955
ADD supervisor/etc/supervisor/supervisord.conf /etc/supervisor/
948956
ADD **/etc/supervisor/conf.d/* /etc/supervisor/conf.d/
949957

950-
#==============================================
951-
# Java blocks until kernel have enough entropy
952-
# to generate the /dev/random seed
953-
#==============================================
954-
# See: SeleniumHQ/docker-selenium/issues/14
955-
RUN apt-get -qqy update \
956-
&& apt-key update -qqy \
957-
&& apt-get -qqy install \
958-
haveged rng-tools \
959-
&& service haveged start \
960-
&& update-rc.d haveged defaults \
961-
&& rm -rf /var/lib/apt/lists/*
962-
963958
#======
964959
# User
965960
#======
@@ -1014,9 +1009,9 @@ ENV FIREFOX_VERSION="${FF_VER}" \
10141009
XMANAGER_STARTRETRIES=0 \
10151010
XMANAGER_STARTSECS=0 \
10161011
# Max amount of time to wait for other processes dependencies
1017-
WAIT_TIMEOUT="25s" \
1012+
WAIT_TIMEOUT="45s" \
10181013
SCREEN_WIDTH=1900 \
1019-
SCREEN_HEIGHT=1480 \
1014+
SCREEN_HEIGHT=1880 \
10201015
SCREEN_MAIN_DEPTH=24 \
10211016
SCREEN_SUB_DEPTH=32 \
10221017
# Display number; see entry.sh for $DISPLAY
@@ -1137,6 +1132,7 @@ ENV FIREFOX_VERSION="${FF_VER}" \
11371132
GRID="true" \
11381133
CHROME="true" \
11391134
FIREFOX="true" \
1135+
# -e RC_CHROME=false -e RC_FIREFOX=false
11401136
RC_CHROME="true" \
11411137
RC_FIREFOX="true" \
11421138
# Video file and extension, e.g. swf, mp4, mkv, flv

TBD_DOCKER_TAG.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
+ TBD_COMMIT_MSG
44
+ Image tag details:
55
+ Selenium 2: TBD_SELENIUM_2_VERSION (TBD_SELENIUM_2_REVISION)
6-
+ Selenium 3: 3.0.0-beta4 (3169782)
6+
+ Selenium 3: 3.0.0 (350cf60)
77
+ Chrome stable: TBD_CHROME_STABLE
88
+ Firefox for Selenium 2: TBD_FIREFOX_FOR_SEL2
99
+ Firefox for Selenium 3: TBD_FIREFOX_FOR_SEL3
@@ -15,11 +15,11 @@
1515
+ Python: TBD_PYTHON_VERSION
1616
+ Sauce Connect TBD_SAUCE_CONNECT_VERS, build TBD_SAUCE_CONNECT_BUILD TBD_SAUCE_CONNECT_REVISION
1717
+ BrowserStack Local version TBD_BROWSER_STACK_VERSION
18-
+ Tested on kernel dev host: 4.4.0-38-generic x86_64
18+
+ Tested on kernel dev host: 4.4.0-43-generic x86_64
1919
+ Tested on kernel CI host: TBD_HOST_UNAME
20-
+ Built at dev host with: Docker version 1.12.1, build 23cf638
20+
+ Built at dev host with: Docker version 1.12.2, build bb80604
2121
+ Built at CI host with: Docker version TBD_DOCKER_VERS, build TBD_DOCKER_BUILD
22-
+ Built at dev host with: Docker Compose version 1.8.0, build f3628c7
22+
+ Built at dev host with: Docker Compose version 1.8.1, build 878cff1
2323
+ Built at CI host with: Docker Compose version TBD_DOCKER_COMPOSE_VERS, build TBD_DOCKER_COMPOSE_BUILD
2424
+ Image size: TBD_IMAGE_SIZE
2525
+ Digest: TBD_DIGEST

0 commit comments

Comments
 (0)