Skip to content

markhobson/docker-maven-chrome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

markhobson/maven-chrome

Docker image for Java automated UI tests.

Includes:

  • JDK 8/11/17/21
  • Maven 3.9.6
  • Chrome 124.0.6367.91
  • ChromeDriver 124.0.6367.91

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:

  • Increase the size of /dev/shm
  • Mount /dev/shm to the host's
  • Start Chrome with the flag --disable-dev-shm-usage