Skip to content

Docker base image for E2E selenium testing on Chrome and Firefox browsers with Xvfb configured and JDK8 installed

License

Notifications You must be signed in to change notification settings

daggerok/e2e-ubuntu-jdk8-xvfb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E2E tests: Ubuntu, JDK8, Chrome / Firefox and Xvfb in Docker Build Status

automated build for docker hub

DEPRECATED: use daggerok/e2e instead

Docker Ubuntu Trusty 14.04 base image with Xvfb and JDK8 Docker Ubuntu Trusty 14.04 image with Chrome, Xvfb and JDK8 Docker Ubuntu Trusty 14.04 image with Firefox, Xvfb and JDK8

Build based on ubuntu:14.04 official image gecko driver version: 0.21.0 chrome driver version: 2.41

tags:

chrome:

firefox:

base:

Usage

just create your test Dockerfile

FROM daggerok/e2e-ubuntu-jdk8-xvfb:all
WORKDIR 'project-directory/'
ENTRYPOINT start-xvfb \
           && ./gradlew test chrome \
           && ./gradlew test firefox
COPY . .
FROM daggerok/e2e-ubuntu-jdk8-xvfb:chrome
WORKDIR 'project-directory/'
ENTRYPOINT start-xvfb && ./gradlew test chrome
COPY . .
FROM daggerok/e2e-ubuntu-jdk8-xvfb:firefox
WORKDIR 'project-directory/'
ENTRYPOINT start-xvfb && ./gradlew test firefox
COPY . .
FROM daggerok/e2e-ubuntu-jdk8-xvfb:base
RUN echo 'install browser, webdriver and use already installed and configured jdk8 + Xvfb based on Ubuntu 14.04'

build test image

docker build -t my-e2e-tests:latest .

and run tests

docker run --rm --name run-my-e2e-tests my-e2e-tests:latest

Reduce build time

In real big projects resolving dependencies each time might take long time and sometimes it's not what we want... So we can try reuse existing local ~/.gradle and ~/.m2 folders to reduce build time. To do so, just mount needed folder on during docker run:

docker build -t my-e2e-tests:latest .
mkdir -p ~/.gradle/caches/modules-2/files-2.1 ~/.m2/repository
docker run --rm --name run-my-e2e-tests \
  -v ~/.gradle/caches/modules-2/files-2.1:/home/e2e/.gradle/caches/modules-2/files-2.1 \
  -v ~/.m2/repository:/home/e2e/.m2/repository \
  my-e2e-tests

WARNING

Sometines it might cause some strange and not obviouse problems for file not found or permission denied topics... So use it only if you know what you are doing and if you ready to spend time for some debugginh :)

Git

git tag $tagName # create tag
git tag -d $tagName # remove tag
git push origin --tags # push tags
git push origin $tagName # push tag