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

Commit 234e772

Browse files
committed
Upgrade Selenium 2.49.0, Chrome 47.0.2526.111
1 parent 3ace13b commit 234e772

File tree

6 files changed

+66
-45
lines changed

6 files changed

+66
-45
lines changed

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,24 @@ 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+
## 2.49.0a (2016-01-13)
11+
+ Upgrade Selenium to 2.49.0
12+
+ Upgrade Chrome to 47.0.2526.111
13+
+ Image tag details:
14+
+ Selenium: v2.49.0 (365eeb4)
15+
+ Chrome stable: 47.0.2526.111
16+
+ Firefox stable: 43.0.4
17+
+ Chromedriver: 2.20.353124 (035346203162d32c80f1dce587c8154a1efa0c3b)
18+
+ Java: 1.8.0_72-internal OpenJDK 64-Bit 1.8.0_72-b05
19+
+ Timezone: Europe/Berlin
20+
+ Built with: Docker version 1.9.1, build a34a1d5
21+
+ FROM ubuntu:xenial-20151218.1
22+
+ Python: 2.7.11
23+
+ Sauce Connect 4.3.13, build 1877 d9e5947
24+
+ BrowserStack Local version 4.3
25+
+ Image ID: TBD
26+
+ Digest: sha256:TBD
27+
1028
## 2.48.2k (2016-01-08)
1129
+ Upgrade Firefox to 43.0.4
1230
+ Upgrade BrowserStack to 4.3

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -598,8 +598,8 @@ USER ${NORMAL_USER}
598598
#==========
599599
# Selenium
600600
#==========
601-
ENV SEL_MAJOR_MINOR_VER 2.48
602-
ENV SEL_PATCH_LEVEL_VER 2
601+
ENV SEL_MAJOR_MINOR_VER 2.49
602+
ENV SEL_PATCH_LEVEL_VER 0
603603
RUN mkdir -p ${SEL_HOME} \
604604
&& export SELBASE="http://selenium-release.storage.googleapis.com" \
605605
&& export SELPATH="${SEL_MAJOR_MINOR_VER}/selenium-server-standalone-${SEL_MAJOR_MINOR_VER}.${SEL_PATCH_LEVEL_VER}.jar" \
@@ -640,7 +640,7 @@ RUN mkdir -p ${NORMAL_USER_HOME}/tmp && cd ${NORMAL_USER_HOME}/tmp \
640640
# TODO: Use Google fingerprint to verify downloads
641641
# http://www.google.de/linuxrepositories/
642642
# Also fix .deb file names with correct version
643-
RUN latest_chrome_version_trigger="latest" \
643+
RUN latest_chrome_version_trigger="47.0.2526.111" \
644644
&& mkdir -p ${NORMAL_USER_HOME}/chrome-deb \
645645
&& export CHROME_URL="https://dl.google.com/linux/direct" \
646646
&& wget --no-verbose -O \

README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* firefox stable [last 18 versions can be found here][2.47.1m]
1212
* fluxbox or openbox (lightweight window managers)
1313

14-
![docker-selenium-grid](https://cloud.githubusercontent.com/assets/111569/11272356/81e6594c-8ecc-11e5-9d33-6dc89b81030f.png)
14+
![docker-selenium-grid](https://cloud.githubusercontent.com/assets/111569/12307661/68313aca-ba1f-11e5-9559-341e25ddb085.png)
1515

1616
## Note this repo evolved into SeleniumHQ/docker-selenium
1717
See: https://github.com/SeleniumHQ/docker-selenium
@@ -22,10 +22,10 @@ Note SeleniumHQ/docker-selenium project is more useful for building selenium gri
2222

2323
In general add `sudo` only if needed in your environment and `--privileged` or `-v /dev/shm:/dev/shm` if you really need it like when [Chrome crashes](https://github.com/elgalu/docker-selenium/issues/20) during your high gpu intensive tests.
2424

25-
docker pull elgalu/selenium:2.48.2k
25+
docker pull elgalu/selenium:2.49.0a
2626

2727
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 \
28-
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.48.2k
28+
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.49.0a
2929

3030
Make sure `docker run` finishes via active wait with below command. Note `grid` is the name of the container:
3131

@@ -64,12 +64,12 @@ Supervisor exposes an http server but is not enough to bind the ports via `docke
6464
### Screen size
6565
You can set a custom screen size at docker run time by providing `SCREEN_WIDTH` and `SCREEN_HEIGHT` environment variables:
6666

67-
docker pull elgalu/selenium:2.48.2k
67+
docker pull elgalu/selenium:2.49.0a
6868

6969
docker run -d --name=grid -p 4444:24444 -p 5920:25900 \
7070
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \
7171
-e SCREEN_WIDTH=1920 -e SCREEN_HEIGHT=1480 \
72-
elgalu/selenium:2.48.2k
72+
elgalu/selenium:2.49.0a
7373

7474
docker exec grid wait_all_done 10s
7575

@@ -123,7 +123,7 @@ You need to pass the environment variable `-e NOVNC=true` in order to start the
123123

124124
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 \
125125
-p 6080:26080 -e NOVNC=true \
126-
elgalu/selenium:2.48.2k
126+
elgalu/selenium:2.49.0a
127127

128128
If the VNC password was randomly generated find out with
129129

@@ -173,9 +173,9 @@ There are also additional steps you can take to ensure you're using the correct
173173

174174
You can simply verify that image id is indeed the correct one.
175175

176-
# e.g. full image id for tag 2.48.2k
176+
# e.g. full image id for tag 2.49.0a
177177
export IMGID="<<Please see CHANGELOG.md>>"
178-
if docker inspect -f='{{.Id}}' elgalu/selenium:2.48.2k |grep ${IMGID} &> /dev/null; then
178+
if docker inspect -f='{{.Id}}' elgalu/selenium:2.49.0a |grep ${IMGID} &> /dev/null; then
179179
echo "Image ID tested ok"
180180
else
181181
echo "Image ID doesn't match"
@@ -185,7 +185,7 @@ You can simply verify that image id is indeed the correct one.
185185

186186
Given docker.io currently allows to push the same tag image twice this represent a security concern but since docker >= 1.6.2 is possible to fetch the digest sha256 instead of the tag so you can be sure you're using the exact same docker image every time:
187187

188-
# e.g. sha256 for tag 2.48.2k
188+
# e.g. sha256 for tag 2.49.0a
189189
export SHA=<<Please see CHANGELOG.md>>
190190
docker pull elgalu/selenium@sha256:${SHA}
191191

@@ -211,7 +211,7 @@ Host machine, terminal 2:
211211
docker run --rm --name=ch -p=4444:24444 \
212212
-e SCREEN_WIDTH -e SCREEN_HEIGHT -e XE_DISP_NUM \
213213
-v /tmp/.X11-unix/X${XE_DISP_NUM}:/tmp/.X11-unix/X${XE_DISP_NUM} \
214-
elgalu/selenium:2.48.2k
214+
elgalu/selenium:2.49.0a
215215

216216
Now when you run your tests instead of connecting. If docker run fails try `xhost +`
217217

@@ -233,7 +233,7 @@ ANYPORT=0
233233
REMOTE_DOCKER_SRV=localhost
234234
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -p=0.0.0.0:${ANYPORT}:24444 \
235235
-p=0.0.0.0:${ANYPORT}:25900 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola \
236-
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.48.2k
236+
-e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.49.0a
237237
238238
# -- Option 2.docker run- Running docker on remote docker server like in the cloud
239239
# Useful if the docker server is running in the cloud. Establish free local ports
@@ -243,7 +243,7 @@ ssh ${REMOTE_DOCKER_SRV} #get into the remote docker provider somehow
243243
# it acts as a jump host so my public key is already on that server
244244
CONTAINER=$(docker run -d -p=0.0.0.0:${ANYPORT}:22222 -e SCREEN_HEIGHT=1110 \
245245
-e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" \
246-
elgalu/selenium:2.48.2k
246+
elgalu/selenium:2.49.0a
247247
248248
# -- Common: Wait for the container to start
249249
./host-scripts/wait-docker-selenium.sh grid 7s
@@ -314,7 +314,7 @@ If you git clone this repo locally, i.e. cd into where the Dockerfile is, you ca
314314
315315
If you prefer to download the final built image from docker you can pull it, personally I always prefer to build them manually except for the base images like Ubuntu 14.04.2:
316316
317-
docker pull elgalu/selenium:2.48.2k
317+
docker pull elgalu/selenium:2.49.0a
318318
319319
#### 2. Use this image
320320

READMELeo.md

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
## Build
22

3-
time (docker build -t="elgalu/selenium:2.48.2k" . ;echo $?;beep)
4-
wget --no-verbose -O binaries/google-chrome-stable_current_amd64.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
5-
docker run --rm -ti -m 4000M --cpu-quota=0 --name=grid -p=4444:24444 -p=5920:25900 -p=2222:22222 -e DISABLE_ROLLBACK=true -e VIDEO=true -e MEM_JAVA="1024m" -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" -v /dev/shm:/dev/shm elgalu/selenium:2.48.2k
3+
time (docker build -t="elgalu/selenium:2.49.0a" . ;echo $?;beep)
4+
VER="47.0.2526.111"
5+
wget -nv -O binaries/google-chrome-stable_${VER}_amd64.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
6+
docker run --rm -ti -m 4000M --cpu-quota=0 --name=grid -p=4444:24444 -p=5920:25900 -p=2222:22222 -e DISABLE_ROLLBACK=true -e VIDEO=true -e MEM_JAVA="1024m" -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" -v /dev/shm:/dev/shm elgalu/selenium:2.49.0a
67

78
Wait and id
89

910
docker exec grid wait_all_done 30s
10-
docker inspect -f='{{.Id}}' elgalu/selenium:2.48.2k
11+
docker exec grid versions
12+
docker inspect -f='{{.Id}}' elgalu/selenium:2.49.0a
1113

1214
Copy
1315

@@ -20,12 +22,12 @@ Location, e.g.
2022
## Push
2123

2224
rm -f ~/.docker/config.json && cp ~/.docker/config.pub.json ~/.docker/config.json
23-
docker push elgalu/selenium:2.48.2k ;echo $?;beep
25+
docker push elgalu/selenium:2.49.0a ;echo $?;beep
2426
# grab digest and update CHANGELOG.md
25-
git add CHANGELOG.md && gci "2.48.2k: Update image id and digest"
26-
docker tag -f elgalu/selenium:2.48.2k elgalu/selenium:latest
27+
git add CHANGELOG.md && gci "2.49.0a: Update image id and digest"
28+
docker tag -f elgalu/selenium:2.49.0a elgalu/selenium:latest
2729
docker push elgalu/selenium:latest
28-
git tag 2.48.2k && git tag -f latest && git push && git push --tags -f
30+
git tag 2.49.0a && git tag -f latest && git push && git push --tags -f
2931

3032
Push setup, first time only:
3133

@@ -36,17 +38,17 @@ Push setup, first time only:
3638

3739
Build a grid with extra nodes
3840

39-
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 -v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.48.2k
41+
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 -v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium:2.49.0a
4042

41-
docker run --rm --name=node -e DISP_N=13 -e SSHD_PORT=22223 -e SUPERVISOR_HTTP_PORT=29003 -e VNC_PORT=25903 -e SELENIUM_NODE_CH_PORT=25330 -e SELENIUM_NODE_FF_PORT=25331 -e GRID=false -e CHROME=true -e FIREFOX=true --net=container:grid elgalu/selenium:2.48.2k
43+
docker run --rm --name=node -e DISP_N=13 -e SSHD_PORT=22223 -e SUPERVISOR_HTTP_PORT=29003 -e VNC_PORT=25903 -e SELENIUM_NODE_CH_PORT=25330 -e SELENIUM_NODE_FF_PORT=25331 -e GRID=false -e CHROME=true -e FIREFOX=true --net=container:grid elgalu/selenium:2.49.0a
4244

4345
See logs
4446

4547
docker exec -ti grid bash -c "ls -lah /var/log/sele/"
4648

4749
Testing in ssh [email protected]
4850

49-
docker run --rm --name=grid -p=4444:24444 -p=5920:25900 -p=2222:22222 -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" -e VNC_PASSWORD=Hola3 os-registry.stups.zalan.do/tip/selenium:2.48.2k
51+
docker run --rm --name=grid -p=4444:24444 -p=5920:25900 -p=2222:22222 -e SSH_AUTH_KEYS="$(cat ~/.ssh/authorized_keys)" -e VNC_PASSWORD=Hola3 os-registry.stups.zalan.do/tip/selenium:2.49.0a
5052

5153
## Transfer used browser source artifacts to keep them in the cloud
5254

@@ -69,18 +71,18 @@ List firefox versions via docker exe
6971

7072
## To update image id and digest
7173

72-
docker inspect -f='{{.Id}}' elgalu/selenium:2.48.2k
74+
docker inspect -f='{{.Id}}' elgalu/selenium:2.49.0a
7375
docker images --digests
7476

7577
## Run with shared dir
7678

7779
docker run --rm --name=grid -p=127.0.0.1:4460:24444 -p=127.0.0.1:5910:25900 \
78-
-v /e2e/uploads:/e2e/uploads elgalu/selenium:2.48.2k
80+
-v /e2e/uploads:/e2e/uploads elgalu/selenium:2.49.0a
7981
docker run --rm --name=grid -p=4460:24444 -p=5910:25900 \
80-
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) elgalu/selenium:2.48.2k
82+
-v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):$(which docker) elgalu/selenium:2.49.0a
8183

8284

83-
docker run --rm --name=ff -p=127.0.0.1:4461:24444 -p=127.0.0.1:5911:25900 -v /e2e/uploads:/e2e/uploads elgalu/selenium:2.48.2k
85+
docker run --rm --name=ff -p=127.0.0.1:4461:24444 -p=127.0.0.1:5911:25900 -v /e2e/uploads:/e2e/uploads elgalu/selenium:2.49.0a
8486

8587
## Run without shared dir and bind ports to all network interfaces
8688

@@ -103,11 +105,11 @@ List firefox versions via docker exe
103105
## Run without dir and bind to all interfaces
104106
Note anything after the image will be taken as arguments for the cmd/entrypoint
105107

106-
docker run --rm --name=grid -p=0.0.0.0:8813:8484 -p=0.0.0.0:2222:2222 -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 -e SCREEN_WIDTH=1800 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.48.2k
108+
docker run --rm --name=grid -p=0.0.0.0:8813:8484 -p=0.0.0.0:2222:2222 -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 -e SCREEN_WIDTH=1800 -e SCREEN_HEIGHT=1110 -e VNC_PASSWORD=hola -e SSH_AUTH_KEYS="$(cat ~/.ssh/id_rsa.pub)" elgalu/selenium:2.49.0a
107109

108-
docker run --rm --name=grid -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola elgalu/selenium:2.48.2k
109-
docker run --rm --name=grid -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola docker.io/elgalu/selenium:2.48.2k
110-
docker run --rm --name=grid -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 --add-host myserver.dev:172.17.42.1 elgalu/selenium:2.48.2k
110+
docker run --rm --name=grid -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola elgalu/selenium:2.49.0a
111+
docker run --rm --name=grid -p=4470:24444 -p=5920:25900 -e VNC_PASSWORD=hola docker.io/elgalu/selenium:2.49.0a
112+
docker run --rm --name=grid -p=0.0.0.0:4470:24444 -p=0.0.0.0:5920:25900 --add-host myserver.dev:172.17.42.1 elgalu/selenium:2.49.0a
111113

112114
However adding a custom host IP to server-selenium.local (e.g. bsele ssh config) is more work:
113115

@@ -116,18 +118,18 @@ However adding a custom host IP to server-selenium.local (e.g. bsele ssh config)
116118

117119
vncv localhost:5920 -Scaling=60% &
118120

119-
docker run --rm --name=ff -p=0.0.0.0:4471:24444 -p=0.0.0.0:5921:25900 elgalu/selenium:2.48.2k
121+
docker run --rm --name=ff -p=0.0.0.0:4471:24444 -p=0.0.0.0:5921:25900 elgalu/selenium:2.49.0a
120122

121123
Automatic builds not working for me right now, maybe there is an issue with docker registry v1 vs v2
122124
https://registry.hub.docker.com/u/elgalu/docker-selenium/builds_history/31621/
123125

124126
## Pulling
125127

126-
docker pull registry.hub.docker.com/elgalu/selenium:2.48.2k
128+
docker pull registry.hub.docker.com/elgalu/selenium:2.49.0a
127129

128130
## Pull
129131

130-
docker run -d --name=max -p=0.0.0.0:4411:24444 -p=0.0.0.0:5911:25900 elgalu/selenium:2.48.2k
132+
docker run -d --name=max -p=0.0.0.0:4411:24444 -p=0.0.0.0:5911:25900 elgalu/selenium:2.49.0a
131133

132134
How to connect through vnc (need a vnc client)
133135

@@ -336,7 +338,7 @@ https://github.com/rogaha/docker-desktop/blob/master/Dockerfile#L38
336338
You can launch a grid only container via environment variables:
337339

338340
docker run --rm --name=hub -p 4444:24444 -p 5930:25900 \
339-
-e CHROME=false -e FIREFOX=false elgalu/selenium:2.48.2k
341+
-e CHROME=false -e FIREFOX=false elgalu/selenium:2.49.0a
340342

341343
The important part above is `-e CHROME=false -e FIREFOX=false` which tells the docker image not run run default chorme and firefox nodes turning the container into a grid-only one.
342344

@@ -350,7 +352,7 @@ You can lunch a node only container via environment variables:
350352
-e SELENIUM_HUB_PORT=4444 \
351353
-e SELENIUM_NODE_HOST=docker.host \
352354
-e GRID=false -e CHROME=true -e FIREFOX=true \
353-
elgalu/selenium:2.48.2k
355+
elgalu/selenium:2.49.0a
354356

355357
The important part above is `-e GRID=false` which tells the container to be a node-only node, this this case with 2 browsers `-e CHROME=true -e FIREFOX=true` but could be just 1.
356358

@@ -364,7 +366,7 @@ Start the grid with Chrome and Firefox
364366
-e SELENIUM_NODE_CH_PORT=25010 -e SELENIUM_NODE_FF_PORT=26010 \
365367
-e GRID=true -e CHROME=true -e FIREFOX=true \
366368
-e VNC_PASSWORD=hola -e VNC_PORT=5810 \
367-
-v /dev/shm:/dev/shm elgalu/selenium:2.48.2k
369+
-v /dev/shm:/dev/shm elgalu/selenium:2.49.0a
368370

369371
Add another docker container node with 2 more browsers:
370372

@@ -374,7 +376,7 @@ Add another docker container node with 2 more browsers:
374376
-e SELENIUM_NODE_CH_PORT=25020 -e SELENIUM_NODE_FF_PORT=26020 \
375377
-e GRID=false -e CHROME=true -e FIREFOX=true \
376378
-e VNC_PASSWORD=hola -e VNC_PORT=5820 \
377-
-v /dev/shm:/dev/shm elgalu/selenium:2.48.2k
379+
-v /dev/shm:/dev/shm elgalu/selenium:2.49.0a
378380

379381
And another
380382

@@ -384,4 +386,4 @@ And another
384386
-e SELENIUM_NODE_CH_PORT=25030 -e SELENIUM_NODE_FF_PORT=26030 \
385387
-e GRID=false -e CHROME=true -e FIREFOX=true \
386388
-e VNC_PASSWORD=hola -e VNC_PORT=5830 \
387-
-v /dev/shm:/dev/shm elgalu/selenium:2.48.2k
389+
-v /dev/shm:/dev/shm elgalu/selenium:2.49.0a

bin/versions

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env bash
22

33
java -version
4+
java -jar ${SEL_HOME}/selenium-server-standalone.jar -port ${SELENIUM_HUB_PORT} 2>&1 | grep revision
45
python --version
56
firefox -version
67
chromedriver --version

docs/videos.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
### Pull
66
Pull image
77

8-
docker pull elgalu/selenium:2.48.2k
8+
docker pull elgalu/selenium:2.49.0a
99

1010
### Run
1111
Run a new grid
1212

1313
docker run --rm --name=grid -p 4444:24444 -p 5920:25900 \
1414
-v /dev/shm:/dev/shm -e VNC_PASSWORD=hola \
15-
-e VIDEO=true elgalu/selenium:2.48.2k
15+
-e VIDEO=true elgalu/selenium:2.49.0a
1616

1717
### Wait
1818
Wait for the grid to start

0 commit comments

Comments
 (0)