Running tests/suites

You can start test run in Qentinel Pace in three ways:

  • Manually by clicking the run button

  • Scheduling them with scheduler

  • Triggering runs from external systems using API key

Running tests manually

To Run test cases manually, just select the suite in Qentinel Pace UI and click Run button [3]. Prior to starting run, you can select if test runs will be recorded as a video file [1] and if test run will be streamed live [2].

suites run manual

You can record a video of:

  • All test cases

  • Only failed test cases

  • None (turns recording off)

Recorded videos can be found after run ends from "Test case summary" section:

2902

When streaming is enabled, a separate browser window will pop-up and display the test execution live:

suites run streaming
Recording videos is currently available for cloud robots running web or mobile test automation.
Streaming run is currently available for cloud robots running web test automation.

Scheduling test runs

To schedule test runs to be run automatically, for example every day at 12:00, you can use Qentinel Pace’s built-in scheduler.

Open the built-in scheduler

Click the test suite name you want to schedule to be run. Then click "calendar" icon on test suite header:

suites scheduler icon

Using the scheduler

Select frequency [1] (daily, every x minutes, monthly etc.). and time [2] and [3] of test run using the scheduler dialog. Note that additional hours and minutes fields [2,3] depend on frequency selection. For example, if you select "Monthly" as frequency, then your additional selections will be date and time on every month.

Optionally, you can also directly give the schedule using the Crontab format [4].

You can record videos [5] of test runs with the exact same rules as with manual runs.

When you click Save [6], the schedule will be applied. With Delete [7] button you can remove existing schedule.

suites scheduler dialog

Triggering runs from external sources

Triggering runs using API key is meant to be used, if you want to hook the test robot and suite into your Continuous Integration pipeline or other external scripts. Once Qentinel Pace’s api is called with generated API key, it will trigger the run for suite corresponding to API key and return results.

Create an API key for a suite

To get started, select the suite you want to create an API key to. You can do this by clicking the suites name.

After the suite is selected, click the "API options" icon:

suites running api key icon

The next screen allows you to Generate and API key for the suite, or remove/revoke one if you had already created an API key earlier:

suites running api key generate
suites running api key created
You need to have Editor rights to robot in order to be able to generate API key.
At this phase, remember to copy the generated API key. Store it securely, since it provides access for running your test suite. You will need to include the API key to your script calling the Qentinel Pace API.

Use the API key in scripts

To trigger runs using API, use the generated API key in your scripts. You can do this in basically any language that can call REST APIs, and most of our customers have their own favorite language.

We will provide an bash example script here, since it’s easy to use this in linux based continuous integration setups.

You will need to provide the following information to API:

  • PACE_API_URL

  • PACE_API_KEY

    • The API key you just generated for your suite

  • inputParameters (optional)

    • Additional parameters/variables for your run (see the example below)

#!/bin/bash
PACE_API_URL=https://pace.qentinel.com/pace/v4/builds
PACE_API_KEY=[YOUR_API_KEY_HERE]
# Start the build
BUILD=$(curl -sS -d '{"key": "'${PACE_API_KEY}'", "inputParameters": [{"key": "BROWSER", "value": "firefox"}]}' -H "Content-Type: application/json" -X POST ${PACE_API_URL})
echo "${BUILD}"
BUILD_ID=$(echo "${BUILD}" | grep -Po '"id":\K[0-9]+')
if [ -z "${BUILD_ID}" ]; then
  exit 1
fi
echo -n "Executing tests "
STATUS='"executing"'
# Poll every 10 seconds until the build is finished
while [ "${STATUS}" == '"executing"' ]; do
  sleep 10
  RESULTS=$(curl -sS ${PACE_API_URL}/${BUILD_ID}?key=${PACE_API_KEY})
  STATUS=$(echo "${RESULTS}" | grep -Po '"status": *\K"[^"]*"' | head -1)
  echo -n "."
done
echo " done!"
FAILURES=$(echo ${RESULTS} | grep -Po '"failures":\K[0-9]+')
LOG_REPORT_URL=$(echo "${RESULTS}" | grep -Po '"logReportUrl": *\K"[^"]*"')
echo "Report URL: ${LOG_REPORT_URL}"