@xtest-cli/cli
v0.6.2
Published
CLI for xtest.ing - AI-powered test generation platform
Maintainers
Readme
@xtest-cli/cli
The official CLI for xtest.ing - AI-Powered Browser Automation & Test Generation Platform.
Installation
npm install -g @xtest-cli/cli@latestFeatures
- Remote Browser Control: Control browser sessions running on xtest.ing infrastructure
- Live Browser View: See what's happening in real-time with headed mode
- AI-Powered Testing: Generate intelligent test cases using AI
- Session Management: Create, list, and manage multiple browser sessions
- Secure Authentication: Email/password authentication with JWT tokens
- Subscription-Based: Requires active xtest.ing subscription
- Interactive Mode: NEW! Control dual browsers with persistent state
- Mirror Mode: NEW! Synchronized browser control - actions mirror between browsers
Prerequisites
- Node.js 16.0.0 or higher
- Active xtest.ing subscription
- xtest.ing account credentials
Installation
npm install -g @xtest-cli/cli@latestAuthentication
The CLI uses email/password authentication. You'll need:
- An active xtest.ing account
- A valid subscription
- Your account credentials
Login
xtest authYou'll be prompted for:
- Email: Your xtest.ing account email
- Password: Your account password
- Server URL: Default is https://xtest.ing
Example:
Login to xtest.ing
Note: You need an active subscription to use the CLI
Sign up at: https://xtest.ing/pricing
Email: [email protected]
Password: ••••••••
✓ Login successful!
Welcome back, John!
Subscription: ActiveCheck Authentication Status
xtest auth statusLogout
xtest auth logoutQuick Start
Install the CLI
npm install -g @xtest-cli/cli@latestLogin to your account
xtest authStart a browser session
xtest browser --mode headedNavigate to a website
xtest browser --url https://example.com
Commands
Authentication Commands
| Command | Description |
|---------|-------------|
| xtest auth | Login with your xtest.ing credentials |
| xtest auth status | Check authentication and subscription status |
| xtest auth logout | Logout and clear stored credentials |
Browser Commands
| Command | Description |
|---------|-------------|
| xtest browser | Start a browser session (headless by default) |
| xtest browser --mode headed | Start browser in headed mode (visible) |
| xtest browser --mode headless | Start browser in headless mode |
| xtest browser --url <url> | Navigate to specific URL on start |
| xtest browser --type <type> | Browser type: chromium, firefox, webkit |
Session Commands
| Command | Description |
|---------|-------------|
| xtest sessions list | List all active browser sessions |
| xtest sessions | Alias for sessions list |
Interactive Mode (NEW in v0.5.0+)
| Command | Description |
|---------|-------------|
| xtest interactive | Start interactive dual browser control |
| xtest i | Alias for interactive mode |
Interactive Mode Commands
Once in interactive mode, you can use these commands:
local <url>- Navigate local browser to URLcloud <url>- Navigate cloud browser to URLlocal click <selector>- Click element in local browsercloud click <selector>- Click element in cloud browserlocal type <selector> <text>- Type text in local browsercloud type <selector> <text>- Type text in cloud browserstatus- Show current state of both browsersexit- Close both browsers and exit
Mirror Mode (NEW in v0.6.0+)
| Command | Description |
|---------|-------------|
| xtest mirror | Start synchronized browser control |
| xtest mirror --url <url> | Start with specific URL |
Mirror mode launches two browsers:
- Local Browser: Opens on your laptop (visible)
- Cloud Browser: Runs on xtest.ing servers
All actions in the local browser are automatically mirrored to the cloud browser in real-time!
Synchronized Browser Control (Mirror Mode)
# Start mirror mode with default URL (Google)
xtest mirror
# Start with a specific URL
xtest mirror --url https://github.com
# What happens:
# 1. Local browser opens on your laptop
# 2. Cloud browser starts on xtest.ing
# 3. Navigate, click, or type in local browser
# 4. Actions automatically mirror to cloud browser
# 5. Both browsers stay in sync!Usage Examples
Basic Browser Automation
# Start a visible browser session
xtest browser --mode headed
# Navigate to a specific URL
xtest browser --url https://github.com --mode headed
# Use Firefox instead of Chromium
xtest browser --type firefox --mode headedInteractive Dual Browser Control
# Start interactive mode
xtest interactive
# In the interactive prompt:
xtest> local https://google.com
xtest> cloud https://github.com
xtest> status
xtest> exitSession Management
# List all your active sessions
xtest sessions list
# Check your authentication status
xtest auth statusSecurity
- Token-Based: Uses JWT tokens that expire after 30 days
- Secure Storage: Credentials are stored securely in your home directory
- Subscription Required: All commands require an active subscription
- HTTPS Only: All communication is encrypted
Subscription Management
The CLI requires an active xtest.ing subscription. To manage your subscription:
- Visit xtest.ing
- Login to your account
- Click on your profile → "Manage Subscription"
- You'll be redirected to the Stripe customer portal
Configuration
Configuration is stored in ~/.xtest/config.json:
{
"apiKey": "your-jwt-token",
"serverUrl": "https://xtest.ing"
}Troubleshooting
"Subscription required" error
- Ensure you have an active subscription at https://xtest.ing/pricing
- Try logging out and logging in again:
xtest auth logoutthenxtest auth
"Invalid credentials" error
- Double-check your email and password
- Ensure your account is active
- Try resetting your password on the website
Connection issues
- Check your internet connection
- Verify the server URL (default: https://xtest.ing)
- Check if you're behind a firewall or proxy
Changelog
See CHANGELOG.md for version history.
Contributing
We welcome contributions! Please see our Contributing Guide for details.
License
MIT - see LICENSE for details.
Support
- Email: [email protected]
- Website: xtest.ing
- Issues: GitHub Issues
Made with love by the xtest.ing team
