Skip to content
| Marketplace
Sign in
Visual Studio Code>Testing>QAce — agentic E2E testingNew to Visual Studio Code? Get it now.
QAce — agentic E2E testing

QAce — agentic E2E testing

drinktea

|
2 installs
| (1) | Free
Run QAce natural-language E2E tests from your editor, see results inline, and manage tests, suites, environments and runs from a sidebar panel.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

QAce for VS Code

Run QAce natural-language end-to-end tests without leaving your editor. Pick a suite or the test in the current file, choose an environment, and watch results stream into the QAce output channel — a failing run offers to open the dashboard.

What's new in 2.0

  • Code index upload — QAce: Upload code index (or the status-bar item) uploads a lightweight index of your workspace (hashes, languages, routes, component names, small excerpts) so the server can plan and target tests against your actual code. Turn on qace.autoIndex to re-upload after saves; add qace.indexExcludes patterns on top of the built-in denylist.
  • Plan view + Build chat — the sidebar gains a Plan tree (pages → steps with status icons) and a Build chat panel that drafts and refines the plan with you.
  • Run impacted tests — QAce: Run impacted tests (from git diff) runs only the tests affected by your uncommitted changes.
  • Run watcher — long runs keep being polled in the background (status-bar progress) and are reported when they finish.
  • Note: the code index requires a token with the new code:write scope — if you signed in before 2.0, run QAce: Sign in once to refresh your token.

Sidebar

Click the QAce icon in the activity bar for a dedicated panel:

  • QAce — connection status, API-key state, quick actions (run a suite / run the current test / list tests / open dashboard), and inline settings (server URL + executor, plus a link to full settings).
  • Tests / Suites / Environments / Runs — browse everything from your project. Tests and suites have an inline ▶ to run them; runs show pass/fail status and reveal details in the output channel. Each list refreshes from its title bar and auto-refreshes after a run.

When you're not connected yet, the views prompt you to Set API key.

Requirements

  • A QAce server (SaaS https://qace.io, or self-hosted).
  • A scoped API key (personal access token) with the runs:write scope. Create one in the dashboard under Settings → API keys. runs:write lets the extension start runs and read tests/suites/environments/runs.
  • VS Code 1.84+ (the extension uses the built-in fetch, available on the Node 18 runtime that ships with 1.84 and later).

Setup

  1. Install the extension and open the QAce panel from the activity bar.
  2. Click Sign in with QAce (or run QAce: Sign in). Your browser opens qace.io, you approve, and the editor is signed in automatically through a secure vscode:// callback — no token to copy. The editor receives a scoped, revocable qace_pat_ (manage it under Settings → API keys on qace.io). Prefer a token? QAce: Set API key still works — paste a qace_pat_… with the runs:write scope; it's stored in the OS keychain, not settings.json.
  3. Self-hosting? Set qace.serverUrl first (defaults to https://qace.io).

How browser sign-in works

The extension opens {serverUrl}/auth/extension with a one-time state and a vscode://drinktea.qace/… callback. After you authorize on qace.io, the page mints a scoped PAT and redirects back to the editor, which verifies state and stores the token. The callback target is restricted to editor URI schemes, so a token can never be redirected elsewhere. (Requires a QAce server with this endpoint deployed.)

Commands

Command What it does
QAce: Sign in Sign in through your browser (qace.io) and store a scoped token.
QAce: Run a suite Pick a suite + environment, run it, report results inline.
QAce: Run test under cursor / current file Runs the test matching the open .md file; if there's no match, pick one from a list. Also appears in the editor Run menu for .md files.
QAce: List tests Prints all tests and their status to the output channel.
QAce: Set API key Store (or clear) your API key securely.
QAce: Open dashboard Opens your QAce dashboard in the browser.
QAce: Upload code index Index the workspace and upload it to the server (also on the status bar).
QAce: Run impacted tests (from git diff) Run only the tests impacted by your changed files.

Settings

Setting Default Description
qace.serverUrl https://qace.io Your QAce server URL.
qace.apiKey "" Fallback key. Prefer QAce: Set API key (keychain-backed).
qace.executor auto Run executor: auto (server chooses), lightpanda, api, playwright, or appium.
qace.autoIndex false Re-upload the code index automatically (debounced) after saving a file.
qace.indexExcludes [] Extra paths/globs excluded from the code index, on top of the built-in denylist.

How it works

The extension calls the QAce REST API with your PAT as a bearer token:

  • GET /api/tests, GET /api/suites, GET /api/environments to populate pickers.
  • POST /api/runs ({ suiteId | testIds, environmentId, executor }) to start a run. Server-driven runs execute to completion, so results are reported as soon as the call returns; the summary and any failures are written to the output channel.

Notes

  • Deep links open the dashboard home (/dashboard); navigate to the run from there.
  • auto executor is recommended — it respects each environment's preference and falls back correctly for API vs. browser tests.

License

MIT © QAce

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft