# Install the CLI (requires .NET 8+) dotnet tool install -g Sigil.Executor # Add sig attributes to your HTML <button sig="login">Login</button> <input sig="email" type="email" /> # Create test.sigil type email "user@test.com" click login wait dashboard 3000 # Run sigil run test.sigil -a "http://localhost:3000"
UI Testing That
AI Agents Love
Visual marker-based testing that uses 90% fewer tokens than DOM selectors. Works with any web framework. No config files.
How Sigil Works
Add marker IDs to your UI, reference them in tests. That's it.
Add Markers
Add sig attribute to your UI elements
<button sig="submit">
<input sig="email">
Write Tests
Reference marker IDs in simple test scripts
type email "user@test.com"
click submit
Run Anywhere
Works with any framework out of the box
sigil run test.sigil
-a "http://localhost:3000"
Sigil vs Traditional Tools
Same test, dramatically different complexity
// playwright.config.ts, fixtures, page objects... test('user can login', async ({ page }) => { await page.goto('http://localhost:3000'); await page.locator('[data-testid="email"]').fill('user@test.com'); await page.locator('[data-testid="password"]').fill('secret123'); await page.locator('button[type="submit"]').click(); await expect(page.locator('.dashboard')).toBeVisible(); });
# login-test.sigil
type email "user@test.com"
type password "secret123"
click submit
wait dashboard 3000
# Run: sigil run login-test.sigil -a "http://localhost:3000"
Built for AI Coding Agents
Traditional UI testing floods LLM context with DOM noise. Vision-based approaches burn thousands of tokens on screenshots. Sigil was designed from the ground up for AI-assisted development, using semantic markers that fit in a single line.
- Works seamlessly with Claude Code, Cursor, and other AI tools
- No screenshot analysis—zero vision tokens consumed
- Markers are self-documenting—no selector explanation needed
- Tests can be generated, modified, and debugged by AI
- Compact syntax minimizes context window usage
- Stable IDs survive UI refactoring and redesigns
~1,500 tokens per image
3 tokens
Simple, Stable, Framework-Agnostic
Add marker IDs to your elements, reference them in tests
<!-- Works with any framework -->
<button sig="checkout">
Submit Order
</button>
<input sig="email" type="email" />
<input sig="password" type="password" />
<!-- Also supports data-testid and data-sigil-id -->
# checkout-test.sigil type email "test@example.com" type password "secret123" click checkout wait confirmation 5000 # Run (script injection is automatic) sigil run checkout-test.sigil \ -a "http://localhost:3000"
Sigil automatically injects the marker detection script via CDP—no npm package needed. Works with React, Vue, Angular, Blazor, Svelte, and vanilla HTML.
Why Teams Choose Sigil
Modern UI testing for modern development workflows
Minimal Token Consumption
Sigil's semantic markers use a fraction of the tokens compared to DOM selectors. Your AI assistant can understand and write more tests in a single context window.
~90% fewer tokens per testRe-deployable Tests
Tests are decoupled from your DOM structure. Refactor your UI, change frameworks, redesign completely—your tests stay the same.
Zero maintenance on UI changesScales Infinitely
Run tests in parallel across multiple viewports simultaneously. From mobile to desktop, test all variations at once.
Parallel multi-viewport executionHeadless & CI/CD Ready
Run in headless Chrome for CI/CD pipelines. No display server needed, works in containers, GitHub Actions, and any CI environment.
--headless flag for CIGet Started in 60 Seconds
Ready to Transform Your Testing?
Start with 100 free runs. No credit card required.
Get Started Free