Jenkins integration - using Docker

400

Using docker is the best way for you to use the Testim CLI, that way we make sure you are always up-to-date with the latest npm package and the required node.js version.

In order to integrate your tests with Jenkins using our docker container, first you need to install the docker engine on the Jenkins machine or one of its slave machines.

Now, just follow these steps:

  1. Create a New item in Jenkins:
344
  1. Enter job name (e.g. "Testim Tests"), and choose "Freestyle project" and click "OK":
990
  1. Add "Execute Shell" step:
482
  1. Set the command with the appropriate parameters, as described in the CLI page. Here is the script template, that pulls and uses our docker file, and the run the CLI command itself:
TESTIM_DOCKER=testim/docker-cli
TESTIM_TOKEN="<YOUR ACCESS TOKEN>"
TESTIM_PROJECT="<YOUR TESTIM PROJECT ID>"
TESTIM_LABEL="<YOUR LABEL>"
SELENIUM_GRID_NAME="<YOUR SELENIUM GRID NAME>"

echo "Pulling latest version"
docker pull ${TESTIM_DOCKER}

echo "Run testim-cli"
docker run --rm -v "${WORKSPACE}":/opt/testim-runner \
  ${TESTIM_DOCKER} \
  --token ${TESTIM_TOKEN} \
  --project "${TESTIM_PROJECT}" \
  --label "${TESTIM_LABEL}" \
  --grid ${SELENIUM_GRID_NAME} \
  -r /opt/testim-runner/testim-sanity-$BUILD_NUMBER-report.xml
echo "Testim finished"\
691

Note: For the grid name, read here how to set up your grid.

  1. In order for Jenkins to store, analyze and show the results, we generate a standard JUnitXMLReporter XML file. For Jenkins to use the file you need to add a post-build action of type "Publish JUnit test result report":
349
  1. Set the xml file value, according to the "report-file" parameter in section 4:
702