Show HN: Agent-QA – natural-language E2E tests for apps built with coding agents

pranshuchittora1 pts0 comments

agent-qa by vostride | Open-source AI end-to-end testing for web and mobile | agent-qa

> agent-qa<br>Open-source AI end-to-end testing for web and mobile apps.<br>Write tests in natural language. agent-qa runs them in an agentic test runtime that builds execution memory from every run, so teams and coding agents catch regressions before releases ship.<br>svg]:px-3" href="/docs/agent-qa">Get Startedsvg]:px-3">View on GitHub

agent-qa Supabase RunDemo for illustration only. All product names and logos are property of their respective owners.

SupabaseLinear AndroidPolymarketPostHogClerkHacker News

Write tests in natural language<br>Define actions and assertions in human language while agents work from visible roles, labels, and screen state.<br>Learn about natural language tests

div]:h-full [&>div]:max-w-none"><br>tests/linear/create-issue.yaml

10<br>11<br>12<br>13<br>14<br>15<br>16<br>17<br>18<br>19<br>20<br>21

test-id: t_slice-cart-bane-deep-fold-prim-paar-baru-nable-kayname: Check Linear issue creation flowtarget: linear-webuse: browser: name: chromiumsteps: - Click on the Create issue icon. - | Verify that the Create issue modal is shown. - | Enter "Fix mobile login" in the "Issue title" input field. - | Select "Engineering" from the Team selector and select "Todo" from the Status field. - Click on the Create issue button. - | Verify that the created issue is shown with title "Fix mobile login" and status "Todo".

Check Linear issue creation flow

Step 1 of 65.0s<br>Click on the Create issue icon.

#1click4.8s

Step 2 of 64.1s<br>Verify that the Create issue modal is shown.

#1assert4.0s

Step 3 of 65.3s<br>Enter "Fix mobile login" in the "Issue title" input field.

#1fill5.1s

Step 4 of 66.2s<br>Select "Engineering" from the Team selector and select "Todo" from the Status field.

#1select3.0s<br>#2select3.0s

Step 5 of 63.4s<br>Click on the Create issue button.

#1click3.2s

Step 6 of 65.8s<br>Verify that the created issue is shown with title "Fix mobile login" and status "Todo".

#1assert5.6s

Evolves with every run<br>With every test run, agent-qa builds execution memory from product, suite, and test observations, then adds that context to future runs. agent-qa also curates memory from steps that were healed during execution, helping future runs avoid the same mistake.<br>Learn about memory

Memory - Notion

Product memorySuite memoryTest memory<br>obs_ria-gue-cake-long-elf-wag-time-quad-profit-alf<br>Workspace navigation contract

trust 0.91|confirmed 6 times<br>last confirmed today

Sidebar groups stay visible after switching between Docs, Projects, Calendar, and Settings. Future runs should verify the workspace switcher, command palette, and primary navigation labels before attempting deeper page assertions. This prevents the agent from rediscovering the navigation model on every run and keeps later assertions focused on the actual page behavior.

obs_mara-scope-desk-calm-page-search-index-round-quiet-latch<br>Command palette search context

trust 0.87|confirmed 5 times<br>last confirmed yesterday

The command palette returns workspace-scoped results first, then recent pages. Repeated tests should search for stable page titles and avoid assuming that the first result is the same across seeded workspaces. When the palette already contains recent pages, the agent should filter by exact title text before selecting the result.

obs_motif-page-toolbar-active-editor-share-comment-menu-state<br>Page toolbar persistence

trust 0.83|confirmed 4 times<br>last confirmed today

The page toolbar appears only after the editor area is active. Future runs should click into the page body before asserting Share, Comments, and More actions. This memory keeps the planner from treating a hidden toolbar as a failure when the page is simply idle.

Built for Humans<br>Top-tier developer experience with a beautiful dashboard, intuitive CLI, and clear workflows for authoring, running, and debugging tests.<br>Learn about the dashboard

agent-qa dashboard

agent-qa<br>Runs<br>Tests<br>Hooks<br>Suites<br>Memory<br>Insights<br>Config

Runs

AllRunningQueuedCompletedFailed<br>StatusTest NameTargetDuration<br>PassedCheck Linear issue creation flowlinear-web (Web)29s<br>PassedGitHub release fixture smokegithub-web (Web)41s<br>FailedSentry issue triage regressionsentry-web (Web)1m 12s<br>PassedSupabase project smoke testsupabase-web (Web)38s

agent-qa CLI<br>❯ agent-qa run tests/linear/create-issue.yamlRunning 1 test(s)...✓ Click on the Create issue icon. 5s Sub-actions: 1 total (1 succeeded, 0 failed)✓ Verify that the Create issue modal is shown. 4s Sub-actions: 1 total (1 succeeded, 0 failed)✓ Enter "Fix mobile login" in the "Issue title" input field. 5s Sub-actions: 1 total (1 succeeded, 0 failed)✓ Select Engineering from Team and Todo from Status 6s Sub-actions: 2 total (2 succeeded, 0 failed)✓ Click on the Create issue button. 3s Sub-actions: 1 total (1 succeeded, 0 failed)✓ Verify created issue title and Todo status 6s Sub-actions: 2 total (2 succeeded, 0 failed) PASS Check Linear issue creation flow 29sRun ID:...

issue agent from create tests page

Related Articles