Test Runner

Multi-case test suites with assertions

Define multiple test cases with different inputs and run them all against your actor in a single suite. Six assertion types validate result counts, required fields, field types, duration limits, and empty value detection. One flat fee per suite, not per test case.

Sign in to use
$0.35/suite

What it checks

Minimum & maximum result counts

Assert that your actor returns at least N results (minResults) or no more than N results (maxResults). Catches pagination bugs and empty outputs.

Required field checks

Verify that critical fields exist with non-null values in at least one output item. Catches missing extractors and changed data sources.

Field type validation

Assert that fields match expected JavaScript types: string, number, boolean, object, array. Catches silent type coercion issues.

Duration limits

Set a maxDuration per test case in seconds. Catches performance regressions — if a 10-second test starts taking 60 seconds, the assertion fails.

Empty value detection

Assert that fields are never null, undefined, empty string, or empty array. Catches scrapers that silently return blank data.

Per-case error isolation

If one test case crashes, the remaining cases still run and produce results. One bad case doesn't block the rest of the suite.

Example output

{
  "actorName": "ryanclinton/google-maps-email-extractor",
  "totalTests": 3,
  "passed": 2,
  "failed": 1,
  "totalDuration": 45.2,
  "results": [
    {
      "name": "Basic search",
      "passed": true,
      "duration": 12.1,
      "resultCount": 5,
      "assertions": [
        { "assertion": "minResults >= 3", "passed": true, "actual": 5 },
        { "assertion": "field 'businessName' exists", "passed": true }
      ]
    },
    {
      "name": "Empty input",
      "passed": false,
      "duration": 3.2,
      "resultCount": 0,
      "error": "Run status: FAILED"
    }
  ]
}

How it works

1

Connect your Apify token and enter the actor ID

2

The tool runs the actor on your account and analyzes the output

3

Get a detailed report with actionable fixes — results cached for free