qa-use
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
QA automation CLI for browser testing and E2E test management.
Quick Start
Getting Started
1. Setup
2. Create Your First Test
Create qa-tests/login.yaml:
3. Run Tests
CLI Reference
Test Commands
| Command | Description |
|---------|-------------|
| qa-use test init | Initialize test directory with example |
| qa-use test run | Run a test by name |
| qa-use test run --all | Run all tests in qa-tests/ |
| qa-use test list | List local tests |
| qa-use test list --cloud | List cloud tests |
| qa-use test validate | Validate test syntax |
| qa-use test sync --push | Push local tests to cloud |
| qa-use test sync --pull | Pull cloud tests to local |
| qa-use test export | Export cloud test to local file |
Run qa-use test --help for all options.
> **Filename suffix (≥ 2.17).** pull writes one file per cloud test as ${safe-name}-${short-id}.yaml, where ${short-id} is the first 8 hex chars of the test UUID. Test names can collide within an org by design, so the suffix guarantees one local file per cloud row. If you upgrade from an earlier version, the next pull will write new suffixed files alongside any legacy un-suffixed file you had — qa-use prints a one-line Legacy file: … notice per orphan and never auto-deletes. Inspect the legacy file's id: field; remove it manually once you've confirmed it's not load-bearing.
Browser Commands
Interactive browser control for test development and debugging:
| Command | Description |
|---------|-------------|
| qa-use browser create | Start browser session |
| qa-use browser goto | Navigate to URL |
| qa-use browser snapshot | Get page element refs |
| qa-use browser click | Click element by ref |
| qa-use browser fill | Fill input field |
| qa-use browser screenshot | Save screenshot |
| qa-use browser run | Interactive REPL mode |
| qa-use browser close | Close browser session |
| qa-use browser status --list | List active sessions across processes |
Run qa-use browser --help for the full list of 29 browser commands.
Tunnel & Maintenance Commands
browser create auto-tunnels when your target is localhost and the API is remote. For standalone tunnels (or cross-process registry inspection) use qa-use tunnel:
| Command | Description |
|---------|-------------|
| qa-use tunnel ls | List active tunnels in the registry |
| qa-use tunnel status | Show detail for a single tunnel |
| qa-use tunnel close | Force-release a tunnel (kills detached holder) |
| qa-use doctor | Reap stale sessions/tunnels (dead PIDs) |
> **Note:** qa-use tunnel * is the CLI-side cross-process tunnel registry, distinct from qa-use mcp tunnel which is the MCP-mode persistent tunnel wrapper (see below).
API Commands
Dynamic API access powered by live OpenAPI (/api/v1/openapi.json) with local cache fallback.
| Command | Description |
|---------|-------------|
| qa-use api ls | List /api/v1/* endpoints from OpenAPI |
| qa-use api | Send API request to endpoint |
| qa-use api ... --refresh | Force OpenAPI spec refresh |
| qa-use api ... --offline | Use cached spec without network |
If live spec fetch fails, qa-use falls back to the last cached spec and prints a stale-cache warning.
Checks and Check Schedules
Remote API checks and schedules are first-class CLI resources. They call the desplega.ai API directly; schedule runs are fully remote and do not create browser sessions.