
E2e
Agentic end-to-end tests with e2e, the e2e runner.
Install
npx skills add kortix-ai/suna --skill e2e -g -a claude-code -y- Repository
- kortix-ai/suna20.3k
- Category
- Design
- Updated
- 3d ago
- License
- See repository
- Context cost
- Mediumabout 2,130 tokens
- Runs scripts
- No, instructions only
What it does
Agentic end-to-end tests with e2e, the e2e runner. Covers scaffolding e2e.config.ts, picking the Playwright browser engine or the agent-device mobile engine, starting the app under test from the config, driving flows with agent.act, judging with agent.assert, agent.waitFor, and agent.extract, pinning values with screen, app, browser, and expect, shaping the agent (context, system prompt, tools, personas), the replay cache, the e2e CLI, reading .e2e/report.json, and bug bashes (parallel explore runs proven with repro tests). Use when a project depends on e2e, when asked for end-to-end, browser, mobile, or agentic UI tests, to bug bash or hunt for bugs, or when an e2e run fails.
e2e: agentic end-to-end tests in TypeScript
Kortix repository integration
Use pnpm test -- --agentic-only [files...] for this opt-in pilot. The wrapper
checks local listener ownership and rejects skipped or flaky selected tests.
MCP is for inspecting the app and finding locators; run tests through the root
wrapper. The config also checks listener ownership before MCP can start the app.
The MCP server allows one session.
Keep the existing testing and release gates. Do not add a pull-request CI
workflow or a second root test script. Use synthetic local data only. Keep
reports, traces, videos, and caches gitignored.
e2e runs UI tests with agent goals and exact assertions. agent.act drives
one goal; agent.assert, agent.waitFor, and agent.extract judge the
screen. screen, app, browser, and expect make exact interactions and
checks. The replay cache reruns verified actions and checks their recorded end
state without a model call; agent judgments still run live. UI targets use
@e2e-dev/web for browsers or @e2e-dev/mobile for iOS simulators and
Android emulators. A test that takes only app can check an API with fetch
and expect (topic writing-tests). Model sign-in commands are in
setup.
// e2e.config.ts
import type { E2EConfig } from 'e2e';
import { web } from '@e2e-dev/web';
import { gateway } from 'ai';
export default {
targets: [
{
engine: web(),
app: {
url: 'http://127.0.0.1:3000',
command: { executable: 'pnpm', args: ['dev'], log: '.e2e/logs/app.log' },
},
},
],
// The model behind every agent.* step: an AI SDK instance; gateway() from 'ai' reads AI_GATEWAY_API_KEY or a Vercel OIDC token.
agents: {
default: {
model: gateway('openai/gpt-6-luna-fast'),
system: 'You are a thorough QA agent. Verify every outcome on screen.',
},
},
} satisfies E2EConfig;


