Skip to content

Commit 2e3d38c

Browse files
committed
Updated README with image name changes and usage
Part of #3
1 parent 517c7ee commit 2e3d38c

File tree

1 file changed

+25
-87
lines changed

1 file changed

+25
-87
lines changed

README.md

Lines changed: 25 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -7,40 +7,41 @@ The project is made possible by volunteer contributors who have put in thousands
77

88
Images included:
99

10-
- __elgalu/selenium-base__: Base image which includes Java runtime and Selenium jar
11-
- __elgalu/selenium-hub__: Image for running a Selenium Grid Hub
12-
- __elgalu/selenium-node-base__: Base image for Selenium Nodes which includes a virtual desktop environment and VNC support
13-
- __elgalu/selenium-node-chrome__: Selenium node with Chrome installed, needs to be connected to a Selenium Hub
14-
- __elgalu/selenium-node-firefox__: Selenium node with Firefox installed, needs to be connected to a Selenium Hub
15-
- __elgalu/selenium-full__: Self contained Selenium Hub and Node combined configuration with both Chrome and Firefox
10+
- __selenium/base__: Base image which includes Java runtime and Selenium jar
11+
- __selenium/hub__: Image for running a Selenium Grid Hub
12+
- __selenium/node-base__: Base image for Selenium Nodes which includes a virtual desktop environment and VNC support
13+
- __selenium/node-chrome__: Selenium node with Chrome installed, needs to be connected to a Selenium Hub
14+
- __selenium/node-firefox__: Selenium node with Firefox installed, needs to be connected to a Selenium Hub
1615

1716
## Running the images
1817

1918
### Selenium Grid Hub
2019

2120
``` bash
22-
$ docker run -d -p 4444:4444 -p 5900:5900 --name selenium-hub elgalu/selenium-hub:2.44.0
21+
$ docker run -d -p 4444:4444 --name selenium-hub selenium/hub:2.44.0
2322
```
2423

2524
### Chrome and Firefox Nodes
2625

26+
df/f-r/n
27+
2728
``` bash
28-
$ docker run -d --link selenium-hub:hub elgalu/selenium-node-chrome:2.44.0
29-
$ docker run -d --link selenium-hub:hub elgalu/selenium-node-firefox:2.44.0
29+
$ docker run -d --link selenium-hub:hub selenium/node-chrome:2.44.0
30+
$ docker run -d --link selenium-hub:hub selenium/node-firefox:2.44.0
3031
```
3132

3233
### Self contained Selenium container
3334

3435
``` bash
35-
$ docker run -d -p 4444:4444 -p 5900:5900 elgalu/selenium-full:2.44.0
36+
$ docker run -d -p 4444:4444 selenium/full:2.44.0
3637
```
3738

3839
## Building the images
3940

40-
Ensure you have the `phusion/baseimage:0.9.15` base image downloaded, this step is _optional_ since docker takes care of downloading the parent base image automatically.
41+
Ensure you have the `ubuntu:14.04` base image downloaded, this step is _optional_ since docker takes care of downloading the parent base image automatically.
4142

4243
``` bash
43-
$ docker pull phusion/baseimage:0.9.15
44+
$ docker pull ubuntu:14.04
4445
```
4546

4647
Clone the repo and from the project directory root you can build everything by running:
@@ -56,77 +57,25 @@ _Note: omitting `VERSION=local` will build the images with the current version n
5657
##### e.g. Spawn a container for Chrome testing:
5758

5859
``` bash
59-
$ docker run -d --name selenium-hub -p=127.0.0.1::4444 elgalu/selenium-hub:2.44.0
60-
$ CH=$(docker run --rm --name=ch -p=127.0.0.1::5900 \
60+
$ docker run -d --name selenium-hub -p 4444:4444 selenium/hub:2.44.0
61+
$ CH=$(docker run --rm --name=ch \
6162
--link selenium-hub:hub -v /e2e/uploads:/e2e/uploads \
62-
elgalu/selenium-node-chrome:2.44.0)
63-
```
64-
65-
-- or --
66-
67-
``` bash
68-
$ CH=$(docker run --rm --name=ch -p=127.0.0.1::4444 -p=127.0.0.1::5900 \
69-
-v /e2e/uploads:/e2e/uploads elgalu/selenium-full:2.44.0)
63+
selenium/node-chrome:2.44.0)
7064
```
7165

7266
Note `-v /e2e/uploads:/e2e/uploads` is optional in case you are testing browser uploads on your webapp you'll probably need to share a directory for this.
7367

74-
The `127.0.0.1::` part is to avoid binding to all network interfaces, most of the time you don't need to expose the docker container like that so just *localhost* for now.
75-
7668
I like to remove the containers after each e2e test with `--rm` since this docker container is not meant to preserve state, spawning a new one is less than 3 seconds. You need to think of your docker container as processes, not as running virtual machines if case you are familiar with vagrant.
7769

78-
A dynamic port will be binded to the container ones, i.e.
79-
80-
``` bash
81-
# Obtain the selenium port you'll connect to:
82-
docker port selenium-hub 4444
83-
# -- or --
84-
docker port $CH 4444
85-
#=> 127.0.0.1:49155
86-
87-
# Obtain the VNC server port in case you want to look around
88-
docker port $CH 5900
89-
#=> 127.0.0.1:49160
90-
```
91-
9270
##### e.g. Spawn a container for Firefox testing:
9371

9472
This command line is the same as for Chrome, remember that the selenium running container is able to launch either Chrome or Firefox, the idea around having 2 separate containers, one for each browser is for convenience plus avoid certain `:focus` issues you web app may encounter during e2e automation.
9573

9674
``` bash
97-
$ docker run -d --name selenium-hub -p=127.0.0.1::4444 elgalu/selenium-hub:2.44.0
98-
$ FF=$(docker run --rm --name=ch -p=127.0.0.1::5900 \
75+
$ docker run -d --name selenium-hub -p 4444:4444 selenium/hub:2.44.0
76+
$ FF=$(docker run --rm --name=ch \
9977
--link selenium-hub:hub -v /e2e/uploads:/e2e/uploads \
100-
elgalu/selenium-node-firefox:2.44.0)
101-
```
102-
103-
-- or --
104-
105-
``` bash
106-
$ FF=$(docker run --rm --name=ch -p=127.0.0.1::4444 -p=127.0.0.1::5900 \
107-
-v /e2e/uploads:/e2e/uploads elgalu/selenium-full:2.44.0)
108-
```
109-
110-
## VNC Connection
111-
112-
In case you have RealVNC binary `vnc` in your path, you can always take a look, view only to avoid messing around your tests with an unintended mouse click or keyboard.
113-
114-
``` bash
115-
$ ./bin/vncview 127.0.0.1:49160
116-
```
117-
118-
If you are running Boot2Docker on Mac then you already have a [VNC client](http://www.davidtheexpert.com/post.php?id=5) built-in. You can connect by entering `vnc://<boot2docker-ip>:49160` in Safari or [Alfred](http://www.alfredapp.com/)
119-
120-
When you are prompted for the password it is __secret__. If you wish to change this then you should either change it in the `/NodeBase/Dockerfile` and build the images yourself, or you can define a docker image that derives from the posted ones which reconfigures it:
121-
122-
``` dockerfile
123-
FROM elgalu/selenium-node-base:2.44.0
124-
#FROM elgalu/selenium-node-chrome:2.44.0
125-
#FROM elgalu/selenium-node-firefox:2.44.0
126-
#FROM elgalu/selenium-full:2.44.0
127-
# Choose the FROM statement that works for you.
128-
129-
RUN x11vnc -storepasswd <your-password-here> /home/seluser/.vnc/passwd
78+
selenium/node-firefox:2.44.0)
13079
```
13180

13281
##### Look around
@@ -135,13 +84,12 @@ RUN x11vnc -storepasswd <your-password-here> /home/seluser/.vnc/passwd
13584
$ docker images
13685
#=>
13786
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
138-
elgalu/selenium-full 2.44.0 68e369e3141e 30 minutes ago 886.3 MB
139-
elgalu/selenium-node-firefox 2.44.0 c7c0c99afabd 31 minutes ago 695.9 MB
140-
elgalu/selenium-node-chrome 2.44.0 c4cd17423321 31 minutes ago 796.7 MB
141-
elgalu/selenium-node-base 2.44.0 4f7c1788fe4c 32 minutes ago 584.8 MB
142-
elgalu/selenium-hub 2.44.0 427462f54676 35 minutes ago 431.4 MB
143-
elgalu/selenium-base 2.44.0 9126579ae96e 35 minutes ago 431.4 MB
144-
phusion/baseimage 0.9.15 cf39b476aeec 4 weeks ago 289.4 MB
87+
selenium/node-firefox 2.44.0 c7c0c99afabd 31 minutes ago 695.9 MB
88+
selenium/node-chrome 2.44.0 c4cd17423321 31 minutes ago 796.7 MB
89+
selenium/node-base 2.44.0 4f7c1788fe4c 32 minutes ago 584.8 MB
90+
selenium/hub 2.44.0 427462f54676 35 minutes ago 431.4 MB
91+
selenium/base 2.44.0 9126579ae96e 35 minutes ago 431.4 MB
92+
ubuntu 14.04 5506de2b643b 3 weeks ago 199.3 MB
14593
```
14694

14795
### Troubleshooting
@@ -151,13 +99,3 @@ All output is sent to stdout so it can be inspected by running:
15199
``` bash
152100
$ docker logs -f <container-id|container-name>
153101
```
154-
155-
The containers leave a few log files in addition to stdout output to see what happened:
156-
157-
``` bash
158-
/tmp/Xvfb_headless.log
159-
/tmp/fluxbox_manager.log
160-
/tmp/x11vnc_forever.log
161-
/tmp/sel-hub.log
162-
/tmp/sel-node.log
163-
```

0 commit comments

Comments
 (0)