/docker-images

Docker images for Katalon Studio and other frameworks

Primary LanguageGroovy

Katalon Studio Docker Image

This project provides convenient Docker images for Katalon Studio and other Selenium-based testing frameworks, with following requirements:

  • Images are easy to deploy and use for people with limited Docker knowledge,
  • Up-to-date browser versions (Google Chrome, Mozilla Firefox) from official installation packages,
  • Testing frameworks and companion tools are fully installed and configured for common use cases,
  • Compatible with Cloud and local-based CIs.

At this moment, the following images are available:

  • Base: contains common software for doing Selenium testing: Google Chrome, Mozilla Firefox, Xvfb, Java SE Runtime Environment (OpenJDK).
  • Katalon Studio: used for creating containers that can execute Katalon Studio tests and write reports to host's file system.

Versions of important packages is written in /katalon/version (or $KATALON_VERSION_FILE).

cat $KATALON_VERSION_FILE
Google Chrome 71.0.3578.98
Mozilla Firefox 64.0
Katalon Studio 5.10.1

Sample configurations

Please visit https://github.com/katalon-studio-samples/ci-samples for a sample project with configurations for some CI tools.

Usage

The usage has been simplified since v5.8.5. Visit here for the old usage.

Simple use case

Inside the test project directory, execute the following command:

docker run -t --rm -v "$(pwd)":/katalon/katalon/source katalonstudio/katalon katalon-execute.sh -browserType="Chrome" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/TS_RegressionTest"

katalon-execute.sh

This command will start Katalon Studio and other necessary components. All Katalon Studio console mode arguments are accepted except -runMode, -reportFolder, and -projectPath.

/katalon/katalon/source

katalon-execute.sh will look for the test project inside this directory.

If this bind mount is not used, katalon-execute.sh will look for the test project inside the current working directory (defined with docker run's -w argument)..

docker run -t --rm -v "$(pwd)":/tmp/source -w /tmp/source katalonstudio/katalon katalon-execute.sh -browserType="Chrome" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/TS_RegressionTest"

Reports

Reports will be written to the report directory.

Docker Toolbox for Windows

Please make sure directories have been shared and configured correctly https://docs.docker.com/toolbox/toolbox_install_windows/#optional-add-shared-directories.

Display configuration

This image makes use of Xvfb with the following configurations which are configurable with docker run:

ENV DISPLAY=:99
ENV DISPLAY_CONFIGURATION=1024x768x24

Jenkins

Please see the sample Jenkinsfile.

CircleCI

This image is compatible with CircleCI 2.0. Please see the sample config.yml.

Customize the report directory

If bind mount /katalon/katalon/report is used, the test reports will be written to that location.

Proxy

If you need to configure proxy for Katalon Studio please use following parameters:

Option Name Value Type Values Mandatory?
proxy.option Fixed NO_PROXY, USE_SYSTEM, MANUAL_CONFIG YES
proxy.server.type Fixed HTTP, HTTPS, or SOCKS YES
proxy.server.address String Examples: locahost, 192.168.1.221 YES
proxy.server.port Integer Examples: 8888, 8080 YES
proxy.username String Example: MyProxyUsername Optional (YES if your proxy server requires authentication)
proxy.password String Example: MyProxyPasswordOptional (YES if your proxy server requires authentication)

These proxy information will be passed to browsers executing the tests.

Do not forget to put --config before the proxy configuration. Example:

docker run -t --rm -v "$(pwd)":/katalon/katalon/source katalonstudio/katalon katalon-execute.sh -browserType="Chrome" -retry=0 -statusDelay=15 -testSuitePath="Test Suites/TS_RegressionTest" --config -proxy.option=MANUAL_CONFIG -proxy.server.type=HTTP -proxy.server.address=192.168.1.221 -proxy.server.port=8888

Images built by community

We also host image built by community. If you want to add one, please fire a Pull Request. For example, katalonstudio/katalon:contrib_PR_15 refers to the image built based on #15. We do not maintain or take responsiblity for any consequence made by using these images, so please use them at your own risk.