Auto-generate end-to-end tests for any website using AI.
QAsmith is a monorepo with the following structure:
.
├── backend/ # Python backend services
│ ├── crawler/ # Playwright BFS crawler → app_map.json
│ ├── generator/ # LLM integration → JSON test cases
│ ├── compiler/ # JSON → Playwright specs
│ ├── runner/ # Execute specs, collect artifacts
│ ├── reporter/ # HTML report generation with AI summaries
│ ├── api/ # FastAPI backend
│ └── shared/ # Shared Python utilities
├── frontend/ # React frontend
└── config/ # Configuration files and examples
- Crawler: BFS traversal of target website to map pages, forms, and actions
- Test Generator: Claude AI converts app map into structured JSON test cases
- Compiler: Transforms JSON test cases into executable Playwright TypeScript specs
- Runner: Executes test suite with artifact collection (JUnit XML, traces, screenshots, videos)
- Reporter: Rich HTML reports with AI-generated failure summaries
- Frontend: React UI to configure runs, select pages, and view results
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtcd frontend
npm installCopy config/config.example.json to config/config.json and add your Claude API key.
cd backend
uvicorn api.main:app --reloadcd frontend
npm run dev🚧 In Development