项目作者: daggerok

项目描述 :
Docker base image for E2E selenium testing on Chrome and Firefox browsers with Xvfb configured and JDK8 installed
高级语言: Dockerfile
项目地址: git://github.com/daggerok/e2e-ubuntu-jdk8-xvfb.git
创建时间: 2018-05-31T10:25:19Z
项目社区:https://github.com/daggerok/e2e-ubuntu-jdk8-xvfb

开源协议:MIT License

下载


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

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

build test image

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

and run tests

  1. 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:

  1. docker build -t my-e2e-tests:latest .
  2. mkdir -p ~/.gradle/caches/modules-2/files-2.1 ~/.m2/repository
  3. docker run --rm --name run-my-e2e-tests \
  4. -v ~/.gradle/caches/modules-2/files-2.1:/home/e2e/.gradle/caches/modules-2/files-2.1 \
  5. -v ~/.m2/repository:/home/e2e/.m2/repository \
  6. 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

  1. git tag $tagName # create tag
  2. git tag -d $tagName # remove tag
  3. git push origin --tags # push tags
  4. git push origin $tagName # push tag