Skip to content

Test Logs

The Test Log is the history of every run in the current environment, whatever started it. Open it from Test Logs in the sidebar. Each test page also shows its own Recent runs, with a link to View all in Test Logs.

The Test Logs page

Runs are listed newest first, with their test, type, trigger, status, start time and duration.

Filter Values
Status All statuses, queued, running, passed, failed, error
Trigger All triggers, manual, api, schedule
Test type All test types, or one type
Test A single test

Select Clear filters to reset them.

A single run

Select a run to open it. While it is queued or running, the page refreshes every 2 seconds.

A run shows:

  • Summary: the status, trigger, who or what started it, timings, and a one-line summary.
  • Steps: what Helena did, in order. Each step has a status:

    Step status Meaning
    passed The step completed.
    failed The step's request failed, for example with an unexpected status.
    skipped The step was not needed, for example a protected-resource call when no token was issued, or a SCIM PATCH when the target declares PATCH unsupported.
    info Information only.

    Each step's detail shows the request Helena sent (method, URL, parameters, body) and the response it got (status, selected headers, body). Response bodies that aren't JSON are cut off at 16 KB.

  • Assertions: each check with its expected and actual value and whether it passed. The run is passed only if every assertion passed.

  • Notes (some test types): informational findings that never fail a run, for example a SCIM server that answers with application/json instead of application/scim+json.

Redaction

Before anything is written to the log, values under sensitive keys are replaced by a fingerprint. This covers secrets, passwords, API keys, access, ID and refresh tokens, and assertions.

[redacted 1187 chars sha256:5b0e1c2a…]

The length and hash prefix let you compare values between runs without revealing them. When an issued access token is a JWT, Helena also shows its decoded header and claims, which helps you check its aud, scope or exp.

Retention

Runs are kept for 90 days, then deleted automatically. Deleting a test does not delete its runs. They stay in the log, under the test's name and type at the time of the run, until they reach the retention limit.

From the API

Service accounts with the read scope can list and fetch runs:

# Latest failed runs of one test
curl -s -H "Authorization: Bearer $HELENA_TOKEN" \
  "https://app.helena.dev/api/v1/environments/$ENV_UUID/test-runs?test=$TEST_UUID&status=failed&per_page=10"

# One run with all its steps and assertions
curl -s -H "Authorization: Bearer $HELENA_TOKEN" \
  "https://app.helena.dev/api/v1/environments/$ENV_UUID/test-runs/$RUN_UUID"

See REST API.