Skip to content

oursky/skytest-agent

Repository files navigation

SkyTest Agent

The open-source, self-hosted alternative to fragile E2E test suites.

Write tests in plain language. Get screenshot evidence for every run.

GitHub stars License: MIT Last Commit PRs Welcome

Join Waitlist

What is SkyTest Agent?

Cypress and Playwright make you code against DOM selectors that break when the UI changes. SkyTest Agent works differently: describe what a user would do in plain language, and a browser agent runs those steps, capturing screenshots as evidence.

It is self-hosted, open source, and uses your own API key.

Welcome.mp4

Key Features

  • Plain-language tests - Write test cases the way you'd explain them to a colleague. No CSS selectors or XPaths.
  • Visual evidence - Every run captures screenshots and logs so you see what happened, not just pass/fail.
  • Multi-session flows - Coordinate across browser roles (e.g., "Browser A" sends a message, "Browser B" receives it) for multi-user scenarios.
  • Custom Playwright code - Mix AI-driven steps with your own Playwright scripts when you need precise control.
  • Android Support — Run cross-platform tests on web and Android apps with a single test suite.
  • MCP & Agent SKill — Use MCP to let AI coding agents generate test cases from your specs.
  • Bring Your Own Key - Use your own OpenRouter API key. You pay only your LLM costs.

Example test case:

1. Open the app
2. Sign in as a user
3. Add an item to the cart
4. Verify checkout succeeds

Watch the demo on YouTube

Quick Start

Start Docker, then run:

npm install
cp .env.example .env.local
# Edit .env.local with your credentials
make dev

Open http://localhost:3000 and sign in.
Enter your OpenRouter API key in settings and start testing!

Hosted Version

Don't want to self-host? We're building a managed version of SkyTest.

Join Waitlist

Advanced Setup

  • Environment Variables: See .env.example for required configs like database and storage. Users provide their own OpenRouter keys in the app settings.
  • Local Development: Check the Local Development Guide for the repo-local stack and reset workflow.
  • Android Testing: See the macOS Android Runner Guide to configure Android execution on macOS hosts.
  • macOS CLI (Homebrew): brew tap oursky/skytest && brew install skytest

Quick Troubleshooting

  • Browsers not found: Run npm run playwright:install
  • Database errors: Verify DATABASE_URL, then run npx prisma db push
  • Object storage errors: Verify S3_ENDPOINT, S3_BUCKET, and MinIO credentials in .env.local for local development

Community & Contributing

Bug reports, feature requests, and pull requests are all welcome.

License

MIT

About

AI-powered web automation agent for natural language testing. Built with Next.js 16, Midscene.js, and Playwright. Describe steps, automate interactions.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors