hoanghadhpt/qa-pilot
hoanghadhpt/qa-pilot has 8 GitHub stars and 3 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-14 19:54 UTC. Last push 2026-11-12.
What you can do
- Single package combining CLI scaffolding (npx qa-pilot init), the Playwright + Midscene MCP server (npx -y qa-pilot server), and local SFDIPOT heuristic knowledge.
- Run npx qa-pilot init to scaffold your project with full test architecture in 2 seconds.
- Run npx -y qa-pilot server to immediately serve MCP capabilities to Antigravity, Claude, or Cursor.
- Validates UI layout while continuously monitoring background JavaScript exceptions (TypeError, Unhandled Promise Rejections) and HTTP failures (4xx, 5xx, 401/403 expired sessions).
Measured star growth
- in 24h
- +1
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
About
Agentic AI Web Testing Platform for Antigravity, Claude Code & Cursor powered by MCP & Playwright
AIREADME.md
OriginalQA Pilot 🛸
Agentic AI Web Testing Platform powered by Model Context Protocol (MCP), Midscene.js & Playwright
Nền tảng kiểm thử web tự động thế hệ mới kết hợp AI Agent, Midscene.js và Playwright thông qua chuẩn MCP.
🌐 Choose Language / Chọn ngôn ngữ
🇻🇳 Tiếng Việt
QA Pilot biến trợ lý AI của bạn (Google Antigravity IDE, Claude Code, Cursor) thành một Kỹ sư QA Automation cao cấp (Senior QA Automation Architect). Thay vì click chuột mù quáng, QA Pilot trang bị cho AI tư duy thử nghiệm đối kháng (SFDIPOT, BVA, Naughty Strings), cơ chế quan sát toàn diện Triple-Oracle (Giao diện + Console log + Network traffic) và khả năng lưu trữ Test-as-Code trực tiếp vào Git repository.
🌟 Tính năng Cốt lõi
- Khởi tạo & Khởi động 1 Lệnh (
npx qa-pilot):- Tự động thiết lập cấu hình
.mcp.json, cài đặt Skill tư duy và khởi tạo khung kiểm thử Playwright tiêu chuẩn chỉ trong 2 giây quanpx qa-pilot init. - Khởi động máy chủ MCP đa năng cho Antigravity / Claude / Cursor qua
npx -y qa-pilot server.
- Tự động thiết lập cấu hình
- Gói Thống nhất Đa năng (All-in-One Package
qa-pilot):- Tích hợp trọn gói cả bộ điều khiển trình duyệt Playwright, Midscene visual engine, cơ chế Triple-Oracle và cẩm nang Heuristics vào duy nhất 1 package
qa-pilot.
- Tích hợp trọn gói cả bộ điều khiển trình duyệt Playwright, Midscene visual engine, cơ chế Triple-Oracle và cẩm nang Heuristics vào duy nhất 1 package
- Quan sát Triple-Oracle (UI + Console + Network):
- Không chỉ nhìn giao diện mà còn bắt lỗi JavaScript ngầm (
TypeError,Unhandled Exception) và lỗi mã HTTP mạng (4xx, 5xx, 401/403 session expired).
- Không chỉ nhìn giao diện mà còn bắt lỗi JavaScript ngầm (
- Chia sẻ Phiên Đăng nhập (Zero-Latency Auth Session):
- Lưu và nạp
storageStatetrong 0.05 giây, tự động giải mã JWTexpvà cookieexpiresđể kiểm tra hạn dùng, bỏ qua hoàn toàn bước đăng nhập UI tốn thời gian.
- Lưu và nạp
- AI Sinh Test Suite Chuẩn Doanh nghiệp:
- Tự động phân tích DOM và sinh bộ kịch bản kiểm thử toàn diện: Happy Path, Negative Validation, Boundary Value, Security Probing, Idempotency.
- Báo cáo Trực quan & Xuất Mã Playwright:
- Tự động xuất dashboard HTML KPI trực quan cấp Suite và xuất mã Playwright TypeScript
.spec.tschuẩn Page Object Model.
- Tự động xuất dashboard HTML KPI trực quan cấp Suite và xuất mã Playwright TypeScript
🚀 Bắt đầu Nhanh (Quickstart)
Cách 1: Khởi tạo vào bất kỳ dự án nào qua npx (Khuyến nghị)
Tại thư mục gốc dự án web của bạn, chạy:
# Khởi tạo trọn gói Skill + MCP Server + Khung Playwright (Tự động nhận diện agent)
npx qa-pilot init
# Khởi tạo quy tắc cho tất cả 10 coding agent phổ biến hiện nay
npx qa-pilot init --agent all
# Khởi tạo cho các agent cụ thể (Cursor, Claude Code, GitHub Copilot, ...)
npx qa-pilot init --agent cursor,claude,copilot
# Xem danh sách 10 coding agent được hỗ trợ và trạng thái phát hiện
npx qa-pilot init --list-agents
# Xem trước thay đổi mà không ghi file (Dry run)
npx qa-pilot init --dry-run
[!NOTE] Yêu cầu trình duyệt (Browser Prerequisite): QA Pilot tự động ưu tiên sử dụng trình duyệt Google Chrome có sẵn trên máy của bạn hoặc Chromium của Playwright. Nếu máy mới hoàn toàn chưa có trình duyệt tương thích, hãy chạy:
npx playwright install chromium
Cách 2: Chạy trực tiếp từ mã nguồn Repo
# 1. Clone repository
git clone https://github.com/hoangha1991/qa-pilot.git
cd qa-pilot
# 2. Cài đặt dependencies và build
npm install
npm run build
# 3. Chạy kiểm thử xác thực toàn bộ hệ thống
npm run test:cli
⚙️ Cấu hình MCP Client
File .mcp.json tại thư mục gốc dự án của bạn (được tạo tự động qua npx qa-pilot init):
{
"mcpServers": {
"qa-pilot": {
"command": "npx",
"args": ["-y", "qa-pilot", "server"],
"env": {
"NODE_ENV": "test"
}
}
}
}
Nếu chạy trực tiếp từ source code của repo này trong quá trình phát triển:
{
"mcpServers": {
"qa-pilot": {
"command": "node",
"args": ["packages/qa-pilot/dist/index.js"]
}
}
}
🔍 Tra cứu Heuristics & Payloads Cục bộ (Offline Search)
QA Pilot đính kèm bộ từ điển payloads biên và hướng dẫn SFDIPOT, có thể tra cứu tức thì qua dòng lệnh không tốn token LLM:
# Tra cứu theo danh mục (xss, sql_injection, unicode_vietnamese, boundary_lengths, whitespace_special, format_validation)
node .agents/skills/qa-pilot/scripts/search-heuristics.js --category bva
# Tra cứu theo từ khóa
node .agents/skills/qa-pilot/scripts/search-heuristics.js --query "boundary"
# Liệt kê tất cả danh mục payload có sẵn
node .agents/skills/qa-pilot/scripts/search-heuristics.js --list-categories
💬 Kịch bản Mẫu Tương tác qua Chat với AI
Khi kết nối với Antigravity IDE, Claude Code hoặc Cursor, bạn có thể ra lệnh bằng tiếng Việt tự nhiên:
- Khảo sát & Lên kế hoạch kiểm thử:
"Khảo sát form https://demo.automationtesting.in/Register.html và lập Test Matrix bằng phương pháp SFDIPOT"
- Tự động sinh Test Suite:
"Sinh test suite hoàn chỉnh cho module auth trên trang Register, gắn nhãn @smoke và lưu dưới dạng YAML"
- Thực thi Test Suite:
"Chạy test suite auth-register với nhãn @smoke và mở báo cáo HTML trực quan"
- Quản lý Auth Session:
"Lưu phiên đăng nhập hiện tại cho vai trò admin"
"Kiểm tra hạn sử dụng token của vai trò admin"
"Nạp phiên xác thực của customer và truy cập vào trang giỏ hàng" - Xuất mã Playwright:
"Xuất test suite auth-register thành file Playwright TypeScript vào tests/e2e/auth/"
🛠️ Danh mục Công cụ MCP Cốt lõi
| Công cụ | Tham số chính | Mô tả chức năng |
|---|---|---|
qa_navigate |
url, headless |
Điều hướng tới URL mục tiêu và gắn bộ quan sát Triple-Oracle. |
qa_act |
action |
Thực hiện hành động tự nhiên (click, điền form, chọn dropdown) qua Midscene visual engine. |
qa_assert |
assertion |
Khẳng định trạng thái giao diện với kiểm tra đồng thời Console và Network. |
qa_auth_save |
role, ttlMinutes |
Lưu cookies và localStorage thành tests/fixtures/auth/<role>.json. |
qa_auth_load |
role |
Nạp lại session trong 0.05 giây mà không cần đăng nhập lại qua UI. |
qa_auth_status |
role |
Kiểm tra thời hạn hiệu lực của JWT token (exp) hoặc cookie. |
qa_auth_clear |
role |
Xóa session lưu trữ của vai trò tương ứng hoặc toàn bộ. |
qa_generate_suite |
module, url, tags |
AI khảo sát và tự động sinh kịch bản Test Suite 5 chiều (Happy, Boundary, Security, v.v.). |
qa_run_suite |
suiteId, filterTags |
Thực thi Test Suite YAML theo tags, nạp auth role tương ứng từng test case. |
qa_list_suites |
module |
Liệt kê danh mục các Test Suite hiện có trong dự án. |
qa_get_suite_report |
runId |
Lấy đường dẫn file báo cáo HTML dashboard KPI trực quan. |
qa_export_suite |
suiteId, format, targetPath |
Chuyển đổi kịch bản YAML thành mã nguồn Playwright TypeScript .spec.ts. |
🇬🇧 English
QA Pilot transforms your AI coding assistant (Google Antigravity IDE, Claude Code, Cursor) into an elite Senior QA Automation Architect. Rather than clicking blindly on elements, QA Pilot equips AI agents with professional testing heuristics (SFDIPOT, BVA, Naughty Strings), Triple-Oracle observation (UI + Console + Network), zero-latency session handling, and native Test-as-Code persistence stored directly in your Git repository.
🌟 Key Highlights
- Unified All-in-One Package (
qa-pilot):- Single package combining CLI scaffolding (
npx qa-pilot init), the Playwright + Midscene MCP server (npx -y qa-pilot server), and local SFDIPOT heuristic knowledge.
- Single package combining CLI scaffolding (
- One-Command Setup & Launch:
- Run
npx qa-pilot initto scaffold your project with full test architecture in 2 seconds. - Run
npx -y qa-pilot serverto immediately serve MCP capabilities to Antigravity, Claude, or Cursor.
- Run
- Triple-Oracle Observation (UI + Console + Network):
- Validates UI layout while continuously monitoring background JavaScript exceptions (
TypeError,Unhandled Promise Rejections) and HTTP failures (4xx, 5xx, 401/403 expired sessions).
- Validates UI layout while continuously monitoring background JavaScript exceptions (
- Shared Auth Sessions (Zero-Latency Login):
- Save and restore browser
storageStatein 0.05 seconds with automatic base64url JWTexpand cookieexpiresinspection—skipping repetitive UI logins.
- Save and restore browser
- AI Heuristic Test Suite Generator:
- Synthesizes full multi-dimensional test suites from DOM analysis: Happy Path, Boundary Value Analysis, Negative Validation, Security Probing, and Idempotency.
- Executive HTML Reports & Code Export:
- Generates dark-mode visual dashboards with step-by-step screenshots and exports YAML suites into clean Playwright TypeScript
.spec.tsfiles.
- Generates dark-mode visual dashboards with step-by-step screenshots and exports YAML suites into clean Playwright TypeScript
🚀 Quickstart
Option 1: Bootstrap into any web project via npx (Recommended)
Run directly at the root of your web project:
# Full bootstrap with smart auto-detection for installed coding agents
npx qa-pilot init
# Bootstrap rules and skills for all 10 common AI coding agents
npx qa-pilot init --agent all
# Bootstrap for specific coding assistants (Cursor, Claude Code, GitHub Copilot, etc.)
npx qa-pilot init --agent cursor,claude,copilot
# List all 10 supported coding agents and detection status
npx qa-pilot init --list-agents
# Preview changes without modifying files (Dry run)
npx qa-pilot init --dry-run
[!NOTE] Browser Prerequisite: QA Pilot automatically detects and uses your local Google Chrome installation or Playwright's Chromium. If running on a fresh machine/CI without any installed browser, run:
npx playwright install chromium
Option 2: Clone & Run from Repository Source
# 1. Clone repository
git clone https://github.com/hoangha1991/qa-pilot.git
cd qa-pilot
# 2. Install dependencies & build packages
npm install
npm run build
# 3. Execute test verification suite
npm run test:cli
⚙️ MCP Client Configuration
Standard .mcp.json placed in your project root (created automatically by npx qa-pilot init):
{
"mcpServers": {
"qa-pilot": {
"command": "npx",
"args": ["-y", "qa-pilot", "server"],
"env": {
"NODE_ENV": "test"
}
}
}
}
When developing from local repository source:
{
"mcpServers": {
"qa-pilot": {
"command": "node",
"args": ["packages/qa-pilot/dist/index.js"]
}
}
}
🔍 Offline Heuristics & Payload Search
Search curated adversarial payloads and SFDIPOT guidelines locally without LLM token costs:
# Search by category (xss, sql_injection, unicode_vietnamese, boundary_lengths, whitespace_special, format_validation)
node .agents/skills/qa-pilot/scripts/search-heuristics.js --category bva
# Search by keyword
node .agents/skills/qa-pilot/scripts/search-heuristics.js --query "boundary"
# List all available payload categories
node .agents/skills/qa-pilot/scripts/search-heuristics.js --list-categories
💬 Natural Language Prompt Examples
With Antigravity IDE, Claude Code, or Cursor connected, converse naturally:
- Explore & Plan Tests:
"Inspect the form at https://demo.automationtesting.in/Register.html and formulate a Test Matrix using SFDIPOT heuristics."
- Generate Test Suite:
"Generate a comprehensive test suite for the auth module on the Register page, tag it with @smoke, and save as YAML."
- Run Test Suite:
"Run the auth-register suite filtered by @smoke tag and open the visual HTML report."
- Auth Session Management:
"Save the current session state under the admin role."
"Check the token expiration status for role admin."
"Load customer auth profile and navigate to /cart." - Export to Playwright:
"Export the auth-register suite into a Playwright TypeScript file in tests/e2e/auth/."
🛠️ Core MCP Tools Reference
| Tool | Parameters | Description |
|---|---|---|
qa_navigate |
url, headless |
Navigates to target URL and attaches Triple-Oracle listeners. |
qa_act |
action |
Performs natural actions (click, type, select) via visual recognition. |
qa_assert |
assertion |
Asserts UI conditions while cross-verifying console & network health. |
qa_auth_save |
role, ttlMinutes |
Saves cookies & localStorage to tests/fixtures/auth/<role>.json. |
qa_auth_load |
role |
Restores session state in 0.05s without re-executing login steps. |
qa_auth_status |
role |
Inspects JWT expiration (exp) and cookie TTL status. |
qa_auth_clear |
role |
Clears stored session state for a specific role or all roles. |
qa_generate_suite |
module, url, tags |
Surveys page elements and generates a 5-dimension test suite. |
qa_run_suite |
suiteId, filterTags |
Runs YAML test cases with tag filtering and auto-auth coordination. |
qa_list_suites |
module |
Discovers and catalogs test suites across project modules. |
qa_get_suite_report |
runId |
Returns the file path to the standalone HTML executive dashboard. |
qa_export_suite |
suiteId, format, targetPath |
Transpiles YAML test suites into clean Playwright TypeScript spec files. |
📂 Project Structure
qa-pilot/
├── .agents/skills/qa-pilot/ # Skill Layer: Persona, SFDIPOT, Naughty Strings, Offline search
│ ├── SKILL.md
│ ├── data/
│ │ ├── heuristics/sfdipot.md
│ │ ├── payloads/naughty-strings.json
│ │ └── checklists/evaluation-checklist.md
│ └── scripts/search-heuristics.js
│
├── packages/
│ └── qa-pilot/ # Unified NPM Package: CLI Init + MCP Server Engine
│ ├── bin/qa-pilot.js # Single binary for 'init' and 'server'
│ ├── assets/ # Embedded skill templates
│ ├── src/
│ │ ├── cli/ # Project initialization & scaffolding logic
│ │ ├── engine/ # Playwright, Midscene, Suite & Auth engines
│ │ ├── tools/ # MCP stdio tool handlers
│ │ └── index.ts # MCP Server stdio entrypoint
│ └── dist/
│
├── tests/ # Enterprise Playwright E2E Architecture
│ ├── fixtures/test.fixture.ts # Dependency Injection fixtures
│ ├── pages/base.page.ts # BasePage with Component Composition
│ ├── suites/ # Test-as-Code YAML suites
│ ├── data/ # DataFactory & test datasets
│ └── e2e/ # Playwright .spec.ts files
│
└── playwright.config.ts # Root multi-browser configuration
🛡️ Security & Privacy Guardrails
- Zero Database Persistence: All test suites, auth sessions, and reports are stored locally as files in your workspace—no external database required.
- Production Safety Gate: Destructive actions (
delete,remove,payment) are blocked on environments markedis_production: true. - Dynamic Secret Redaction: Passwords, tokens, and authorization headers are masked as
[REDACTED]in all logs, outputs, and HTML reports. - Git Protection:
tests/runs/,tests/fixtures/auth/, and.envfiles are automatically excluded by.gitignore.
🤝 Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository and create a feature branch (
git checkout -b feature/my-feature). - Verify all tests pass (
npm run build && npm run test:cli). - Commit with conventional commit messages (
feat: add new capability). - Push to your branch and submit a Pull Request.
📄 License
Distributed under the MIT License. See LICENSE for details.