autonomiq-mcp
v1.0.0
Published
AI-powered QA agent — generates Playwright and API tests from Jira tickets via MCP
Maintainers
Readme
Autonomiq Test Agent
AI-powered QA test automation framework that automatically generates and executes tests from Jira tickets
🚀 What is Autonomiq?
Autonomiq is an intelligent test automation agent that:
- 🤖 Reads requirements from Jira tickets
- 🔄 Automatically generates test cases
- ▶️ Executes tests using Playwright and Cucumber
- 📊 Reports results to your team
No more manual test creation! Just provide a Jira ticket ID.
⚡ Quick Start (2 minutes)
1. Install & Setup
# Clone repository
git clone https://github.com/autonomiq/test-agent.git
cd autonomiq-framework
# Install dependencies
npm install
npm run build
# Link globally
npm link2. Configure
# Copy configuration template
cp .env.example .env
# Edit with your Jira credentials
nano .envGet your Jira API token: https://id.atlassian.com/manage-profile/security/api-tokens
3. Run Tests
# Generate and run tests for a Jira ticket
autonomiq JIRA-123
# UI tests only
autonomiq JIRA-123 --ui
# API tests only
autonomiq JIRA-123 --apiThat's it! The agent will automatically generate and run tests. 🎉
📖 Complete Installation Guide
This comprehensive guide covers:
- ✅ Prerequisites & system requirements
- ✅ Installation methods (global, local, library)
- ✅ Detailed configuration
- ✅ Using as CLI or in your code
- ✅ Integration with CI/CD, Docker, npm scripts
- ✅ Troubleshooting & support
💡 Common Commands
# Show help
autonomiq --help
# Show version
autonomiq --version
# Generate & run tests
autonomiq JIRA-123
# Multiple tickets
autonomiq JIRA-123 JIRA-124 JIRA-125
# UI tests only
autonomiq JIRA-123 --ui
# API tests only
autonomiq JIRA-123 --api
```bash
# Copy and customize environment variables
cp .env.example .env
# Edit your configuration
nano .env # or use your preferred editorThen use autonomiq from your terminal!
Complete installation guide → INSTALLATION_GUIDE.md
⚙️ Features
✅ Automatic Test Generation - AI analyzes Jira tickets and generates test cases
✅ Jira Integration - Fetch requirements, update tickets with results
✅ UI Testing - Playwright browser automation with Page Object Models
✅ API Testing - Swagger/OpenAPI parsing and endpoint validation
✅ BDD Framework - Cucumber with Gherkin syntax
✅ Parallel Execution - Run UI and API tests simultaneously
✅ HTML Reports - Beautiful test result reports
✅ Flexible Deployment - CLI, library, Docker, CI/CD
✅ TypeScript - Full type safety and intellisense
✅ Extensible - Add custom agents and integrations
📁 Project Structure
autonomiq-framework/
├── bin/ # CLI executable
├── src/
│ ├── agents/ # Test generation agents
│ ├── core/ # Core services (Jira, Swagger, logger)
│ ├── tests/ # Example test files
│ ├── pages/ # Page Object Models
│ └── utils/ # Utility functions
├── dist/ # Compiled JavaScript
├── docs/ # Documentation
├── reports/ # Test reports (auto-generated)
├── logs/ # Execution logs
├── .env.example # Configuration template
└── package.json # Dependencies🔧 Configuration
Edit .env with your environment variables:
# Required - Jira Configuration
JIRA_BASE_URL=https://your-company.atlassian.net
[email protected]
JIRA_API_TOKEN=your-jira-api-token
# Optional - API Configuration
SWAGGER_URL=https://api.example.com/swagger.json
# Optional - Test Configuration
LOG_LEVEL=info
BROWSER=chromium
TIMEOUT=30000
BASE_URL=http://localhost:3000Get your Jira API token: https://id.atlassian.com/manage-profile/security/api-tokens
📚 Documentation
| Document | Purpose | |----------|---------| | INSTALLATION_GUIDE.md | Complete setup & integration guide | | QUICK_START_LOCAL.md | Quick reference for local setup | | LOCAL_AGENT_SETUP.md | Terminal usage guide |
🚀 Usage Examples
Generate UI Tests
autonomiq JIRA-LOGIN --uiGenerate API Tests
autonomiq JIRA-API-42 --apiMultiple Tickets
autonomiq JIRA-123 JIRA-124 JIRA-125View Help
autonomiq --help
autonomiq --version🔌 Use as a Library
const { OrchestratorAgent, JiraClient, AgentCommunicator, logger } = require('@autonomiq/test-agent');
const jiraClient = new JiraClient(
process.env.JIRA_BASE_URL,
process.env.JIRA_USERNAME,
process.env.JIRA_API_TOKEN
);
const communicator = new AgentCommunicator(5, 60000, logger);
const orchestrator = new OrchestratorAgent(
jiraClient,
communicator,
process.env.SWAGGER_URL
);
// Run tests
const results = await orchestrator.runPipeline(['JIRA-123']);See INSTALLATION_GUIDE.md for more examples.
🐛 Troubleshooting
Command not found
cd autonomiq-framework
npm linkJira connection failed
# Verify .env file
cat .env
# Test connection
curl -u "$JIRA_USERNAME:$JIRA_API_TOKEN" "$JIRA_BASE_URL/rest/api/2/myself"Tests not running
npm run clean && npm run build && npm linkFull troubleshooting guide → INSTALLATION_GUIDE.md
🎯 Next Steps
- ✅ Clone:
git clone https://github.com/autonomiq/test-agent.git - ✅ Install:
npm install && npm run build && npm link - ✅ Configure:
cp .env.example .env(add your Jira credentials) - ✅ Run:
autonomiq JIRA-123 - ✅ Check:
open reports/html/
💬 Support
- Help:
autonomiq --help - Version:
autonomiq --version - Logs:
tail -f logs/autonomiq.log - Reports:
open reports/html/ - Docs: INSTALLATION_GUIDE.md
📝 License
MIT - See LICENSE file
🤝 Contributing
Contributions are welcome! Please feel free to submit pull requests.
Start automating your tests today! 🚀
git clone https://github.com/autonomiq/test-agent.git
cd autonomiq-framework
npm install && npm run build && npm link
autonomiq --helpFor complete installation instructions → INSTALLATION_GUIDE.md
async fillUsername(username: string) { await this.page.fill('input[name="username"]', username); } }
## 🤖 Multi-Agent Architecture
### Orchestrator Agent
Manages test flow and coordinates between UI and API agents.
```typescript
import { orchestrator } from '@agents/orchestrator';
await orchestrator.orchestrate('user-registration-flow');UI Agent
Handles Playwright browser interactions.
import { uiAgent } from '@agents/ui-agent';
await uiAgent.navigate('http://localhost:3000');API Agent
Manages HTTP requests and REST API testing.
import { apiAgent } from '@agents/api-agent';
const response = await apiAgent.get('/api/users');📊 Test Reports
Test reports are generated in test-results/:
cucumber-report.html- HTML reportcucumber-report.json- JSON report
🔍 Logging
Logs are stored in logs/:
combined.log- All logserror.log- Error logs only
Console logging is enabled in development mode.
🛠️ Development
Build TypeScript
npm run buildClean build artifacts
npm run cleanDevelopment mode (ts-node)
npm run dev📦 Dependencies
- @cucumber/cucumber: BDD test framework
- playwright: Browser automation
- axios: HTTP client for API testing
- swagger-parser: OpenAPI/Swagger parsing
- winston: Logging framework
- dotenv: Environment variable management
- typescript: TypeScript compiler
- ts-node: TypeScript execution runtime
🎯 Best Practices
- Use Page Object Models: Keep test code clean and maintainable
- Test Data in Fixtures: Separate test data from test logic
- Meaningful Scenarios: Write clear, understandable Gherkin scenarios
- Logging: Use the logger for debugging and monitoring
- Environment Configuration: Use
.envfor environment-specific settings - Error Handling: Handle errors gracefully and log meaningful messages
🤝 Contributing
- Create a feature branch
- Write tests for new functionality
- Ensure all tests pass
- Submit a pull request
📄 License
MIT
📧 Support
For issues or questions, please contact the Autonomiq team.
