Skip to content

Generate a suite (URL, docs, spec, or description)

Point Tripwire at a live app, your docs, a spec, or a plain description, and it proposes a plain-English suite. The fastest way from "I have an app and zero tests" to a runnable suite.

Sources

  • Live URL — crawl the app. A deep page works (paste the full URL), and you can supply login credentials so pages behind auth are reachable, not just the public surface.
  • Docs / README URL — we fetch the prose and generate tests for your base_url.
  • Pasted text — a PRD, user stories, or any description, plus the app base_url.
  • OpenAPI / spec — paste the spec to inform the generated scenarios.

Exhaustive by default

Generation is multi-pass: it discovers the app's testable areas, then expands each area in parallel into a full scenario set — not just the happy path, but input validation, edge cases, error/empty states, auth/permission, and negative scenarios, each tagged with its kind. Per-area expansion keeps every model call small, so the structured output never truncates on a big app. (Turn off exhaustive for a quick happy-path pass.)

What it does (live URL)

  1. Opens the URL in a headless browser (logging in first when credentials are given).
  2. Reads the page structure — links, forms, buttons, visible text.
  3. Optionally crawls a level or two of same-origin links (default: up to 4 pages, 1 level deep).
  4. Discovers the testable areas, then drafts a thorough suite covering every applicable scenario kind for each area.
  5. Returns canonical Tripwire YAML — ready to save and run.

The generator is grounded: it's told "do not invent credentials or flows that have no evidence on the page," and it prefers concrete, checkable expectations, adding a deterministic check (kind url / visible_text / absent_text) where it reasonably can.

Generate via the API

bash
curl -X POST http://127.0.0.1:8400/api/v1/generate \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://your-app.example.com", "save_as": "quick-test"}'
  • url — the page to start from.
  • save_as (optional) — a name to save the suite under (.yaml is appended if missing). Omit it to just get the YAML back without saving.

Response:

json
{ "yaml": "suite: ...\n...", "saved_as": "quick-test.yaml" }

From the dashboard

In Tests, paste a URL into the generate flow. Tripwire crawls, proposes the suite, and drops you into the editor with the YAML pre-filled. Review the cases, tweak the expectations, and run it like any other suite.

What the output looks like

A generated suite is ordinary Tripwire YAML — sequenced cases, plain-English steps, and checked expectations:

yaml
suite: "Acme — key flows"
id: acme-key-flows
base_url: https://your-app.example.com
cases:
  - id: nav-pricing
    title: "Pricing is reachable from the nav"
    steps:
      - { id: s1, do: "Open the home page" }
      - { id: s2, do: "Click the Pricing link in the navigation" }
    expect:
      - { id: a1, assert: "the pricing page is shown",
          check: { kind: url, contains: "pricing" } }

Always review before relying on it

Generation is best-effort and a starting point, not a finished test plan. It can only propose flows it can see evidence for on the crawled pages, and it never invents credentials. Treat the output as a first draft: confirm the steps match real flows, tighten the assertions, and add the deep flows (checkout, settings, anything behind auth) by hand.

Related: Quick test a URL · Writing Tests · Record from clicks

Tripwire — AI-native, self-healing E2E testing. Terms · Privacy · Legal Notice