Public Repository

Last pushed: 5 months ago
Short Description
Docker images for SoapUI
Full Description

There are multiple images, please refer Tags

  • Latest SoapUI version: 5.3.0
    docker pull nmrao/soapui or
    docker pull nmrao/soapui:5.3.0
    NOTE: Same instruction mentioned works for latest as well, just use image name as nmrao/soapui instead of using specific version
  • Earlier version : 4.5.1
    docker pull nmrao/soapui:4.5.1

Check Video & Instructions Below for 4.5.1


How To pull the image?

docker pull nmrao/soapui:4.5.1

There are multiple ways of running this in a container:

  • Simple A: Hello World Example
    In this approach, pre-built SoapUI project, Hello-World example, which is present inside the container and shows the test summary. Use below command to run:
    docker run --name testsoap451 -d nmrao/soapui:4.5.1
    And see the docker log using docker logs testsoap451
    NOTE: before proceeding further, remove the named container docker rm -f testsoap451 otherwise, you may see conflict error

  • Simple B: Demo project
    In this sample, user can run different project, of course this project is also pre-built and part of container,by passing the project file name in the below command:
    docker run --name testsoap451 -d nmrao/soapui:4.5.1 demo-soapui-project.xml
    By default, results are stored at /tmp/Results directory of container.
    Run docker rm -f testsoap451 to remove container.

Other sample shown in the above recording uses volume mount as we want to preserve the test results even after container is removed.

The same commands(from recording) are given below:
For that, go to a fresh directory and create a new directory, say artifacts.
Below commands also removes container, once the test execution is completed, as --rm switch is used.
NOTE: In the below, ${PWD} may not work if you are running on windows plat form. You may use present directory path using forward slash as path separator.

  • Generates Junit style xml report in your local machine as volume is mounted under /artifacts/Results directory
    docker run --name testsoap451 --rm -ti -v ${PWD}/artifacts:/drive --env "RESULTS=/drive/Results" nmrao/soapui:4.5.1 demo-soapui-project.xml

In all the above cases, SOAPUI_HOME/bin/testrunner.sh is used to execute the soapui project.


  • Run the pre-built project with ant and Generate Junit style HTML report in local machine
    docker run --name testsoap451 --rm -ti -v ${PWD}/artifacts:/drive --env "RESULTS=/drive/Results" --entrypoint ant nmrao/soapui:4.5.1

--

How to run the project which is not in the container i.e., available in the local machine?

In the present directory you already created a directory called artifacts.
Create a directory called projects under artifacts, say mkdir artifacts/projects and copy your soapui projects which you may want to run.
Use below command (via ant): note to change value of your-soapui-project.xml as you needed.
docker run --name testsoap451 --rm -ti -v ${PWD}/artifacts:/drive --env "RESULTS=/drive/Results" --entrypoint ant nmrao/soapui:4.5.1 -Dsoapui.project=/drive/projects/your-soapui-project.xml

Docker Pull Command
Owner
nmrao

Comments (1)
nmrao
3 months ago

If you are using docker on windows, you have to share the windows drives, so that container can use the mount and persist the data. Use docker settings to do the same