Skip to main content
Trq

Record & Replay Web, Mobile & API Tests

Trq (pronounced “torque”) — an IDE-style desktop app for web, native Android, and API tests. Record a UI flow or build an API request once; Trq replays it deterministically. No code, no setup, no flakiness.

Trq in action: create a session, record a flow, capture events, replay with all checks passing, then inspect the Network, Summary, and Timeline panels
No code to write or maintain
Selectors that fall back & self-heal
Deterministic, isolated runs
Web, mobile & API in one studio

A full testing studio — not a recorder bolted on

Record, run, debug, and trust web, mobile & API tests — record-first, with the engine to make them hold up.

Record, don’t script

Perform the flow once — in a real, bundled browser or a live Android emulator. Trq captures every tap, keystroke, upload, and assertion — zero test code to write or maintain.

Native mobile, too

Record a real Android flow in a live emulator embedded in Trq — taps, typing, gestures, uploads — with the same self-healing steps and result panels as web.

Selectors that self-heal

Every element is saved as a ranked ladder of selectors. Replay falls back automatically, and a failed step re-scores the live DOM so you fix it in a click.

Deterministic replay

Every run clears cookies, storage, and caches, then replays from step 1 — no leftover state, no flake, the same result on every machine.

Assertions & captures

Pick an element to assert text, value, or visibility — or capture a value into {{var.NAME}} and reuse it in later steps.

Reusable building blocks

Call one .trq from another, branch a shared prefix, resume to extend, or insert steps mid-flow — grow a suite without re-recording.

API testing built in

Build, send, and assert on HTTP requests — standalone cases with {{var}} chaining and JSON-Schema checks, or a request mid-flow. Runs in CI, no browser.

Network mocking

Snapshot API responses while recording and serve them back on replay — fast, offline-capable runs. Edit any response to test error states.

Trq selector ladder: ranked selectors graded stable, brittle, or dynamic with automatic fallback

Selectors that survive redesigns

Brittle selectors are why recorded tests rot. Trq is built so a class rename or a re-ordered DOM doesn’t take your suite down with it.

  • A ranked ladder, not one guessMost tools pin a step to a single selector — when the markup shifts, it breaks. Trq records eight ranked rungs (accessible name, test-ids, visible text, semantic class, scoped CSS, XPath) and resolves the first confident match, falling back as needed.
  • Framework-awareAngular (_ngcontent, ng-*), Material/CDK, React useId (:r…:), and hashed CSS-module classes are filtered out — semantic BEM names are kept.
  • Fragility you can seeThe Inspector grades every rung stable / brittle / dynamic, so you spot fragile selectors before they bite.
  • Self-heal on failureWhen a step can’t resolve, Trq re-scores candidates from the live DOM and “Pick from page” captures fresh selectors in one click.
Trq composable flows: a reusable login.trq called by checkout, profile, and settings tests

Build tests you don’t rewrite

Tests share setup — login, navigate, seed data. Trq lets you record those once and reuse them, so maintenance stays linear as your suite grows.

  • Composable flowsCall one .trq from another (nested), so a login or setup flow lives in exactly one place — fix it once, every caller updates.
  • Branch, resume, insertFork a shared prefix into a new test, extend from the end, or record new steps in the middle — without re-recording the whole flow.
  • Values that flowCapture from the page or extract from an API response into {{var.NAME}}, then reuse it downstream; {{uuid}} & friends generate once per run.
  • Reusable setupViewport, locale, geolocation, fake camera/mic, permissions, and headers are saved per session and applied on every run.
Trq assert and capture: assert text with exact/contains/regex match modes, and capture a value into a variable

Assert and capture, by pointing

Check what matters and pull out the values you need — all by clicking elements on the page, no selectors to hand-write.

  • Assert what you can seePick an element and check it’s visible, or that its text or value matches — no selector hunting, and it works inside same-origin iframes.
  • Three match modesCompare exact, contains, or regex; {{templates}} resolve before the check, so assertions can reference captured values.
  • Capture into variablesRead an element’s text, an input’s value, or any attribute into {{var.NAME}} — with an optional regex to pull just the part you want.
  • Always currentOnly the instruction is saved (selector + kind), never the value — so it reflects each run’s real data.
Trq API test case: a sequence of requests all passing, with assertions and a JSON-Schema check

Test your API — standalone or in-flow

Build a request, Send it, and assert on the response — as a standalone case that runs in CI, or as a step inside a web or mobile flow. No browser, no CORS.

  • Cases that chainBuild a whole test from many requests. Extract a value into {{var.NAME}} and send it in the next request’s URL, headers, or body — login → create → verify, no code.
  • Assert, incl. JSON SchemaDeclarative checks on status, JSON paths, headers, and response time — or validate the whole body against a JSON Schema for contract testing (generate one from the response).
  • A full request builder + cURLMethod, URL, params, headers, auth (Bearer / Basic / API key), and bodies (JSON / form / multipart / GraphQL) — all {{templated}}. Paste a “Copy as cURL” and it fills in.
  • Runs anywhere, incl. CIServer-side (Node fetch) — no browser, no CORS. Swap environments (dev / staging / prod) and replay headless from the trq CLI, or fire a request mid-web-flow to seed data.
Trq network mock: recorded API responses served back on replay, one edited to a 500

Mock the network, deterministically

Make replays fast and repeatable — and exercise error paths you can’t trigger on demand — by serving recorded responses.

  • Record once, serve backSnapshot API responses while recording; replay serves them instead of hitting the backend — fast, offline-capable, deterministic runs.
  • Ordered matchingMatched by method + URL in the order recorded, so a single gateway called many times replays the right response each time.
  • Edit any responseChange the body, status, or headers — flip a 200 to a 500 — to test error and edge states without touching the backend.
  • Hybrid by designOnly API calls are mocked; static assets load live and unmatched requests pass through to the real network.
Trq results after a replay: Events log, Network panel, Summary, and Timeline

Inspect every run

After each replay the bottom panel fills with everything you need to understand — and debug — what happened.

  • EventsEvery step with pass/fail and per-step timing. Double-click to edit a step, reorder its selector ladder, or re-pick an element from the live page.
  • NetworkA familiar request list — filter by request type and search URLs, then open any request to inspect its headers, payload, response, and timing.
  • SummaryPass/fail counts, total duration, the slowest step, and the failure screenshot if the run stopped — the at-a-glance health of the run.
  • TimelineA scrubber over time-scaled step bars with a thumbnail of the page at each step — hover to preview, click to jump straight to that moment.
Trq mobile automation: a live Android emulator embedded in the studio with mobile steps in the Events panel

Automate native mobile — the same way

Record a real Android flow in a live emulator embedded right in Trq. Taps, typing, gestures, and uploads — captured as self-healing steps, replayed deterministically.

  • Record in a live emulatorDrive an Android emulator embedded right in Trq — tap, type, swipe, long-press — and every action becomes a self-healing step.
  • Selectors that self-healEach element is a ranked ladder (resource-id → content-desc → text), so replay falls back automatically when one rung breaks.
  • The same studioThe same Events, Console (logcat), Network, Summary and Timeline panels, per-step screenshots, and one-file shareable report as web.
  • Clean state, CI-readyClear app data and grant permissions before each run; capture and mock the network; replay headlessly, in parallel across multiple emulators.

Stop scripting tests. Start recording them.

Web, mobile, and API — one studio. Free, in early access — universal macOS build (Apple Silicon & Intel).