markhobson / docker-maven-chrome

Docker image for Java automated UI tests.
https://hub.docker.com/r/markhobson/maven-chrome/
Apache License 2.0
97 stars 81 forks source link
chrome docker-image maven

markhobson/maven-chrome

Docker image for Java automated UI tests.

Includes:

Available on Docker Hub.

Tags

The following Docker tags are available:

Demo

See the demo Maven project to see how this Docker image can be used to run UI tests. To run the demo within the latest version of this image on Docker Hub:

cd demo
./run.sh

Building

To build and test the Docker images locally, install Bats and run:

./build.sh

Maintaining

To upgrade the Docker images to use the latest version of Chrome, install dctrl-tools and run:

./upgrade.sh chrome

To upgrade the Docker images to use the latest version of ChromeDriver:

./upgrade.sh chromedriver

Note that both of these scripts will also commit to Git.

Tips

Using with Selenium

Configure Selenium to launch Chrome in headless mode:

ChromeOptions options = new ChromeOptions().addArguments("--headless=new");
WebDriver driver = new ChromeDriver(options);

Configure Protractor to use bundled ChromeDriver

To configure Protractor to use the version of ChromeDriver bundled in this image, set chromeDriver in Protractor's conf.js file:

exports.config = {
  chromeDriver: '/usr/bin/chromedriver'
}

Chrome crashes

Chrome uses /dev/shm for runtime data which is 64MB by default under Docker. If this is not sufficient then this can cause Chrome to crash. Possible workarounds: