Docker runs applications in light-weight virtual containers. The containers provide you with a consistent environment isolated from other applications. SmartBear provides you with the readyapi-security-testrunner docker image you can use to run ReadyAPI security tests within containers. The image is available in Docker Hub.
To run security tests in Docker, use the following image from Docker Hub:
https://hub.docker.com/r/smartbear/readyapi-security-testrunner/
To use the image, you must have a file-based Floating license. When you run a container, it connects to the specified license server and obtains the license. The license server must be available to the container and must be properly configured. See Configure License Server 5.x.
If you have moved to the new SmartBear ID-based licenses that we’ve introduced in ReadyAPI 3.8.1, you must have a SmartBear ID-based Licenses assigned to you.
This topic describes how to use Docker with ReadyAPI on the Hyper-V virtualization platform. To do that, use the same environment you use to run your Docker images. There are no specific requirements for this.
To learn more, see the Docker documentation:
To run ReadyAPI tools in Docker containers on other virtualization platforms, additional configuration may be required. Please see the corresponding documentation.
Important
Known issue: You cannot run the readyapi-security-testrunner image by using the Docker toolbox.
To run functional tests by using a Docker image, you need to pull it from Docker Hub. To do this, use the following command:
docker pull smartbear/readyapi-security-testrunner
To run a functional test in a Docker container, use the following command line:
docker run -v="Project Folder":/project -v="Report Folder":/reports -v="Extensions Folder":/ext -e LICENSE_SERVER="License Server Address" -e COMMAND_LINE="Test Runner Arguments" -it smartbear/readyapi-security-testrunner:latest
If you have moved to the new SmartBear ID-based licenses that we’ve introduced in ReadyAPI 3.8.1, you must add the parameters shown below to your docker run
command.
docker run -v="Project Folder":/project -v="Report Folder":/reports -v="Extensions Folder":/ext -e SLM_LICENSE_SERVER="SLM License Server Address" -e COMMAND_LINE="Test Runner Arguments" -it smartbear/readyapi-security-testrunner:latest
docker run -v="C:\Tests\Project":/project -v="C:\Tests\Reports":/reports -v="C:\Tests\Extensions":/ext -e LICENSE_SERVER="10.0.21.14:443" -e COMMAND_LINE="-f/%reports% '-RSecurity Issues Report' -FPDF '-EDefault environment' -nSecurityTest1 '/%project%/Sample-readyapi-project.xml'" -it smartbear/readyapi-security-testrunner:latest
If you have moved to the new SmartBear ID-based licenses that we’ve introduced in ReadyAPI 3.8.1, you must add the parameters shown below to your docker run
command. Specifies the address of the SmartBear license server for our new SmartBear License Management server.
docker run -v="C:\TestDocker\Projects":/project -e SLM_LICENSE_SERVER="<Address for onprem SLM license server>" -e API_KEY="<API key for floating SLM>" -e COMMAND_LINE="'-EDefault environment' -DlicenseApiHost=SLM_LICENSE_SERVER -DlicenseApiPort=SLM_LICENSE_SERVER_PORT -sTestSuite-Main -cTestCase-Main '/%project%/Project-func-test.xml'" -it smartbear/ready-api-soapui-testrunner:<tag>
After the docker stops running, you can get the exit code by using the following command:
Besides the standard Docker exit codes (see the Docker documentation) the readyapi-security-testrunner Docker image uses the following codes:
101 | Contained ReadyAPI cannot start due to a license issue. Make sure the license server is properly configured and the Docker image can access to it. See other possible issues with Floating licenses. |
102 | The ReadyAPI project was not found. Make sure you specify the correct folder for the |
103 | An error occurs during the test run. See the test log for more details. |
If you cannot run Docker due to the Drive has not been shared error, perform the following steps:
Right-click the Docker icon in the notification area and select Settings:
On the Shared Drives page of the Settings dialog, select all the drives you use to run the Docker container.
Important
If your drives have already been shared, but the error occurs anyway, turn off sharing. After you apply the changes, repeat these steps to share the drives again.
To share your drivers, select them in the list and click Apply:
You may need to enter the credentials of your system account to apply the changes.