Software under Test

ElasTest supports two deployment modes of SuT:

  • SuT deployed by ElasTest: your software is packaged as Docker container/s. It can be a single Docker image or a docker-compose.
  • SuT deployed outside ElasTest: your software is already deployed somewhere.

When creating a new SuT you are able to defined what mode of deployment ElasTest should work with.

With Commands Container

Your SuT is packaged as a Docker image. You must write the Commands Container Image and the commands below. These commands will run like the docker image CMD.

Fields to declare:

  • Commands container images: name of the container image
  • Commands: commands to execute
  • Port: port that ElasTest should wait for to be available before running your TJobs
  • Protocol: protocol of the SuT url. Only Http and Https are available.

Furthermore you can choose between three options into With Commands Container:

SuT In Commands Container

You can start a SuT from commands. For example, you can clone and build maven project from GitHub and after start generated java jar file.

SuT In New Container

You can start a SuT from docker image. The difference with With Docker Image option is that you can generate a docker image in execution time. For example, you can clone a project from GitHub and after generate docker image and start it.

It's necessary sets on docker run command the --name parameter with the $ET_SUT_CONTAINER_NAME environment variable.

SuT In Docker Compose

You can start a SuT from docker compose. The difference with With Docker Compose option is that you can use a docker-compose file stored, for example, into GitHub instead of copy and paste it into ElasTest.

It's necessary sets on docker-compose up command the -p parameter with the $ET_SUT_CONTAINER_NAME environment variable.

With Docker image

Your SuT is packaged as a Docker image. ElasTest will pull it from DockerHub and run it as the Dockerfile states.

Fields to declare:

  • Docker image: name of the image (tagged or untagged)
  • Port: port that ElasTest should wait for to be available before running your TJobs
  • Protocol: protocol of the SuT url. Only Http and Https are available.

With docker-compose

Your SuT is declared as a docker-compose. ElasTest will pull all the necessary images from DockerHub and run them as the field Docker Compose states

Fields to declare:

  • Docker Compose: your docker-compose.yml file. Simply copy-paste its content here
  • Main Service Name: the name of the service that ElasTest should wait for to be up before running your TJobs (the specific port is declared in the next field Port)
  • Port: port that ElasTest should wait for to be available before running your TJobs (applied to the service declared in the previous field Main Service Name)
  • Protocol: protocol of the SuT url. Only Http and Https are available.

No instrumentation

Your SuT is already deployed on an external server and you don't want to send any logs or metrics to ElasTest.

Fields to declare:

  • SuT IP: IP or DNS of your SuT. Thanks to this field your TJobs may know how to reach your SuT through environment variable ET_SUT_HOST. Check Environment variables to learn more.

Manual instrumentation

Your SuT is already deployed on an external server and you want to manually send its logs and metrics to ElasTest.

Fields to declare:

  • SuT IP: IP or DNS of your SuT. Thanks to this field your TJobs may know how to reach your SuT through environment variable ET_SUT_HOST. Check Environment variables to learn more.

After filling SuT name and description fields, click on Save and get monitoring details button to get all the necessary fields to manually instrument your server following these instructions.

Automatic instrumentation

Your SuT is already deployed on an external server and you want to automatically send its logs and metrics to ElasTest.

(Coming soon)