Awesome
markhobson/maven-chrome
Docker image for Java automated UI tests.
Includes:
- JDK 11/17/21
- Maven 3.9.9
- Chrome 130.0.6723.91
- ChromeDriver 130.0.6723.91
Available on Docker Hub.
Tags
The following Docker tags are available:
jdk-11
(jdk-11/Dockerfile)jdk-17
(jdk-17/Dockerfile)jdk-21
,latest
(jdk-21/Dockerfile)
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