PromptQA Recorder
QATools (www.qatools.dev)
PromptQA Recorder turns clicking around your app into a working, runnable test in seconds. Capture flows, debug them step-by-step, replay them in a fresh window, and export to whichever framework your team uses — Markdown, Playwright (TS or JS), Cypress, or Selenium Java. Everything stays on your machine: no telemetry, no upload, no account. ━━━ WHY USE IT ━━━ 🎯 SMART LOCATORS Each step carries a stability-ordered fallback chain — data-testid → ARIA role + accessible name → label → placeholder → text → CSS. Replays survive small UI shifts that would break a brittle selector. Walks up the DOM for testids placed on parent wrappers (the common case for cards / list items). ▶ ONE-CLICK PLAYBACK Replay in a fresh window or your current tab. Live status strip + on-page ring overlay show which step is running, with green/red badges for pass/fail. Built-in auto-wait so flaky pages don't fail on first miss. 🐛 STEP-THROUGH DEBUGGER (new in 4.0) Set breakpoints on any step. Step over (F10), Continue (F8), Skip, Stop. Combine with Play (pause at breakpoints) or Debug (pause everywhere). Per-flow breakpoints persist across reloads. ⚙️ POWERFUL PLAY SETTINGS A gear menu next to Play: where to run (clean window vs current tab), speed (Slow / Normal / Fast), wait per step (1–20s slider), stop on first failure toggle. 📤 EXPORT TO ANY FRAMEWORK (expanded in 4.0) • Markdown — portable scenario for AI agents (Claude / ChatGPT / Cursor / Copilot) • Playwright (TS + JS toggle) — getByRole / getByTestId / expect.soft, native auto-wait • Cypress — cy.get / cy.contains chains, vanilla or Testing-Library style • Selenium Java (JUnit 5) — locator-pool resolver, soft asserts via try/catch Inline syntax highlighting in the preview for all formats. 📂 OPEN IN VS CODE (new in 4.0) One click saves the export to Downloads and opens it directly in VS Code with the right syntax highlighting. ✅ ASSERT MODE While recording, switch to assert mode and pick any element to add a verification step — visible / contains text / input value. Per-assert wait timeout. Soft asserts that record failures without halting the run. 🔄 MULTI-FLOW Keep multiple recordings side-by-side. Switch between them, run several flows back-to-back as a smoke suite, import / export each independently. ⏸ PAUSE / RESUME, INSERT BETWEEN STEPS Take a side-trip without polluting the timeline. Continue recording after Stop to append to an existing flow. Hover any row to insert new steps at that exact position. 🔀 DRAG-TO-REORDER + MULTI-SELECT BULK DELETE Clean up noisy captures (cookie banners, accidental clicks) with Shift / Cmd-click range select. 📊 RUN REPORT After every run, a self-contained HTML report with pass/fail tallies, per-step timings, error details, and a shareable single-file format. Optional auto-download. 🔍 LOCATOR PICKER & QUERY TOOL Globally available — click anywhere on a page to inspect every locator strategy with stability ratings, ready-to-copy Markdown + Selenium Java snippets, plus a CSS / XPath query bar with multi-element highlight and cycle navigation. 🪟 POP-OUT FLOATING WINDOW Detach the panel into a 40%-of-screen floating window. State stays in sync via the background coordinator. 📥 IMPORT EXPORTED FILES Drop previously-exported .md files back in. Multi-file import with auto-deduped names. Recovery loop for accidentally cleared recordings. 🎨 PROFESSIONAL UI POLISH Hardened minimum panel width, tab-scoped side panel, custom right-click menu (reload, check for updates, etc), redesigned export modal, locator details with full-width inline editing + undo/redo. ━━━ PRIVACY ━━━ • No tracking, no analytics, no remote logging • Recordings live in chrome.storage.local — survive browser restarts • Permissions: activeTab, scripting, storage, tabs, sidePanel, downloads • Open-source feedback repo on GitHub • Sensitive fields (password type, OTP, credit-card, API-key, anything matching common credential patterns) are auto-masked before they leave the page ━━━ FEEDBACK ━━━ Bugs and feature requests: github.com/hariprasadms/promptqa_issues_feedback The "Report a bug" button (right-click menu or playback failure strip) opens a pre-filled GitHub issue with your failure context auto-attached. ━━━ FOR WHO ━━━ • QA engineers documenting flows for AI to maintain • Developers prototyping E2E coverage without hand-writing selectors • Anyone handing test scenarios to Claude / ChatGPT / Cursor and getting back working Playwright / Cypress / Selenium • Teams looking for a private, local-only alternative to cloud test recorders Built by QATools.dev. Free, MIT-licensed