@democratize-quality/mcp-server 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.js +248 -0
- package/package.json +7 -5
- package/src/chatmodes//360/237/214/220 api-generator.chatmode.md" +409 -0
- package/src/chatmodes//360/237/214/220 api-healer.chatmode.md" +494 -0
- package/src/chatmodes//360/237/214/220 api-planner.chatmode.md" +954 -0
- package/src/config/environments/api-only.js +72 -0
- package/src/config/environments/development.js +73 -0
- package/src/config/environments/production.js +88 -0
- package/src/config/index.js +360 -0
- package/src/config/server.js +60 -0
- package/src/config/tools/api.js +86 -0
- package/src/config/tools/browser.js +109 -0
- package/src/config/tools/default.js +51 -0
- package/src/docs/Agent_README.md +310 -0
- package/src/docs/QUICK_REFERENCE.md +111 -0
- package/src/server.ts +234 -0
- package/src/services/browserService.js +344 -0
- package/src/skills/api-planning/SKILL.md +224 -0
- package/src/skills/test-execution/SKILL.md +777 -0
- package/src/skills/test-generation/SKILL.md +309 -0
- package/src/skills/test-healing/SKILL.md +405 -0
- package/src/tools/api/api-generator.js +1884 -0
- package/src/tools/api/api-healer.js +636 -0
- package/src/tools/api/api-planner.js +2617 -0
- package/src/tools/api/api-project-setup.js +332 -0
- package/src/tools/api/api-request.js +660 -0
- package/src/tools/api/api-session-report.js +1297 -0
- package/src/tools/api/api-session-status.js +414 -0
- package/src/tools/api/prompts/README.md +293 -0
- package/src/tools/api/prompts/generation-prompts.js +722 -0
- package/src/tools/api/prompts/healing-prompts.js +214 -0
- package/src/tools/api/prompts/index.js +44 -0
- package/src/tools/api/prompts/orchestrator.js +353 -0
- package/src/tools/api/prompts/validation-rules.js +358 -0
- package/src/tools/base/ToolBase.js +249 -0
- package/src/tools/base/ToolRegistry.js +288 -0
- package/src/tools/browser/advanced/browser-console.js +403 -0
- package/src/tools/browser/advanced/browser-dialog.js +338 -0
- package/src/tools/browser/advanced/browser-evaluate.js +356 -0
- package/src/tools/browser/advanced/browser-file.js +499 -0
- package/src/tools/browser/advanced/browser-keyboard.js +362 -0
- package/src/tools/browser/advanced/browser-mouse.js +351 -0
- package/src/tools/browser/advanced/browser-network.js +440 -0
- package/src/tools/browser/advanced/browser-pdf.js +426 -0
- package/src/tools/browser/advanced/browser-tabs.js +516 -0
- package/src/tools/browser/advanced/browser-wait.js +397 -0
- package/src/tools/browser/click.js +187 -0
- package/src/tools/browser/close.js +79 -0
- package/src/tools/browser/dom.js +89 -0
- package/src/tools/browser/launch.js +86 -0
- package/src/tools/browser/navigate.js +289 -0
- package/src/tools/browser/screenshot.js +370 -0
- package/src/tools/browser/type.js +193 -0
- package/src/tools/index.js +114 -0
- package/src/utils/agentInstaller.js +437 -0
- package/src/utils/browserHelpers.js +102 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (C) 2025 Democratize Quality
|
|
3
|
+
*
|
|
4
|
+
* This file is part of Democratize Quality MCP Server.
|
|
5
|
+
*
|
|
6
|
+
* Democratize Quality MCP Server is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* Democratize Quality MCP Server is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU Affero General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
* along with Democratize Quality MCP Server. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* API Tools Configuration
|
|
22
|
+
* Configuration specific to API testing tools
|
|
23
|
+
*/
|
|
24
|
+
module.exports = {
|
|
25
|
+
// API Request Tool
|
|
26
|
+
api_request: {
|
|
27
|
+
// Session management
|
|
28
|
+
maxSessions: 50,
|
|
29
|
+
sessionTimeout: 600000, // 10 minutes
|
|
30
|
+
enableSessionPersistence: true,
|
|
31
|
+
|
|
32
|
+
// Request settings
|
|
33
|
+
defaultTimeout: 30000,
|
|
34
|
+
maxRetries: 3,
|
|
35
|
+
retryDelay: 1000,
|
|
36
|
+
enableRedirects: true,
|
|
37
|
+
maxRedirects: 5,
|
|
38
|
+
|
|
39
|
+
// Validation settings
|
|
40
|
+
enableResponseValidation: true,
|
|
41
|
+
enableBodyValidation: true,
|
|
42
|
+
strictContentTypeCheck: true,
|
|
43
|
+
|
|
44
|
+
// Logging settings
|
|
45
|
+
enableRequestLogging: true,
|
|
46
|
+
enableResponseLogging: true,
|
|
47
|
+
logLevel: 'info',
|
|
48
|
+
|
|
49
|
+
// Rate limiting
|
|
50
|
+
rateLimitEnabled: false,
|
|
51
|
+
maxRequestsPerSecond: 10
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
// API Session Status Tool
|
|
55
|
+
api_session_status: {
|
|
56
|
+
enableRealTimeUpdates: true,
|
|
57
|
+
maxHistoryEntries: 1000,
|
|
58
|
+
includeDetailedLogs: true,
|
|
59
|
+
enableSessionMetrics: true
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
// API Session Report Tool
|
|
63
|
+
api_session_report: {
|
|
64
|
+
defaultTheme: 'light',
|
|
65
|
+
includeRequestData: true,
|
|
66
|
+
includeResponseData: true,
|
|
67
|
+
includeTiming: true,
|
|
68
|
+
includeValidationResults: true,
|
|
69
|
+
|
|
70
|
+
// Report generation settings
|
|
71
|
+
maxReportSize: 10485760, // 10MB
|
|
72
|
+
enableCompression: true,
|
|
73
|
+
compressionLevel: 6,
|
|
74
|
+
|
|
75
|
+
// HTML report settings
|
|
76
|
+
enableInteractiveReports: true,
|
|
77
|
+
includeCharts: true,
|
|
78
|
+
enableSyntaxHighlighting: true,
|
|
79
|
+
|
|
80
|
+
// Output settings
|
|
81
|
+
defaultOutputDir: process.env.API_REPORTS_DIR || 'output/reports',
|
|
82
|
+
enableTimestampInFilename: true,
|
|
83
|
+
enableAutoCleanup: true,
|
|
84
|
+
maxReportsToKeep: 100
|
|
85
|
+
}
|
|
86
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (C) 2025 Democratize Quality
|
|
3
|
+
*
|
|
4
|
+
* This file is part of Democratize Quality MCP Server.
|
|
5
|
+
*
|
|
6
|
+
* Democratize Quality MCP Server is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* Democratize Quality MCP Server is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU Affero General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
* along with Democratize Quality MCP Server. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Browser tool-specific configuration
|
|
22
|
+
* Settings for all browser automation tools
|
|
23
|
+
*/
|
|
24
|
+
module.exports = {
|
|
25
|
+
// Browser launch settings
|
|
26
|
+
browser_launch: {
|
|
27
|
+
defaultHeadless: true,
|
|
28
|
+
defaultPort: null, // Let chrome-launcher choose
|
|
29
|
+
maxInstances: 10,
|
|
30
|
+
launchTimeout: 30000,
|
|
31
|
+
chromeFlags: [
|
|
32
|
+
'--disable-gpu',
|
|
33
|
+
'--disable-setuid-sandbox',
|
|
34
|
+
'--no-sandbox',
|
|
35
|
+
'--disable-dev-shm-usage', // Prevent crashes in containerized environments
|
|
36
|
+
'--disable-background-timer-throttling',
|
|
37
|
+
'--disable-backgrounding-occluded-windows',
|
|
38
|
+
'--disable-renderer-backgrounding'
|
|
39
|
+
],
|
|
40
|
+
userDataDirPrefix: 'browser-session-',
|
|
41
|
+
cleanupOnExit: true
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
// Navigation settings
|
|
45
|
+
browser_navigate: {
|
|
46
|
+
pageLoadTimeout: 30000,
|
|
47
|
+
allowedProtocols: ['http:', 'https:'],
|
|
48
|
+
maxRedirects: 5,
|
|
49
|
+
waitForNetworkIdle: true,
|
|
50
|
+
networkIdleTimeout: 2000
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
// Screenshot settings
|
|
54
|
+
browser_screenshot: {
|
|
55
|
+
defaultQuality: 80,
|
|
56
|
+
defaultFormat: 'png',
|
|
57
|
+
maxFileSize: '10MB',
|
|
58
|
+
allowedFormats: ['png', 'jpeg', 'webp'],
|
|
59
|
+
outputDirectory: require('path').resolve(__dirname, '../../../output'),
|
|
60
|
+
enableTimestamps: true,
|
|
61
|
+
compressionLevel: 6
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
// DOM interaction settings
|
|
65
|
+
browser_dom: {
|
|
66
|
+
defaultWaitTimeout: 5000,
|
|
67
|
+
elementVisibilityTimeout: 3000,
|
|
68
|
+
scrollIntoView: true,
|
|
69
|
+
highlightElements: false, // Useful for debugging
|
|
70
|
+
enableRetries: true,
|
|
71
|
+
maxRetryAttempts: 3,
|
|
72
|
+
retryDelay: 500
|
|
73
|
+
},
|
|
74
|
+
|
|
75
|
+
// Click settings
|
|
76
|
+
browser_click: {
|
|
77
|
+
waitForElement: true,
|
|
78
|
+
scrollIntoView: true,
|
|
79
|
+
doubleClickDelay: 100,
|
|
80
|
+
enableCoordinateValidation: true,
|
|
81
|
+
clickOffset: { x: 0, y: 0 } // Offset from element center
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
// Type settings
|
|
85
|
+
browser_type: {
|
|
86
|
+
typingDelay: 10, // Milliseconds between keystrokes
|
|
87
|
+
clearBeforeType: true,
|
|
88
|
+
waitForFocus: true,
|
|
89
|
+
enableNaturalTyping: true, // Simulate human-like typing
|
|
90
|
+
maxTextLength: 10000
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
// Close settings
|
|
94
|
+
browser_close: {
|
|
95
|
+
gracefulShutdown: true,
|
|
96
|
+
shutdownTimeout: 5000,
|
|
97
|
+
forceKillOnTimeout: true,
|
|
98
|
+
cleanupUserData: false // Keep user data by default
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
// Global browser settings
|
|
102
|
+
global: {
|
|
103
|
+
maxConcurrentOperations: 5,
|
|
104
|
+
enableScreenshotOnError: false,
|
|
105
|
+
autoRecovery: true,
|
|
106
|
+
healthCheckInterval: 60000, // 1 minute
|
|
107
|
+
enablePerformanceMetrics: false
|
|
108
|
+
}
|
|
109
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (C) 2025 Democratize Quality
|
|
3
|
+
*
|
|
4
|
+
* This file is part of Democratize Quality MCP Server.
|
|
5
|
+
*
|
|
6
|
+
* Democratize Quality MCP Server is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* Democratize Quality MCP Server is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU Affero General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
17
|
+
* along with Democratize Quality MCP Server. If not, see <https://www.gnu.org/licenses/>.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Default tool configuration
|
|
22
|
+
* These settings apply to all tools unless overridden by specific tool configs
|
|
23
|
+
*/
|
|
24
|
+
module.exports = {
|
|
25
|
+
// Common tool settings
|
|
26
|
+
timeout: 30000,
|
|
27
|
+
retryAttempts: 3,
|
|
28
|
+
retryDelay: 1000,
|
|
29
|
+
|
|
30
|
+
// Validation settings
|
|
31
|
+
enableInputValidation: true,
|
|
32
|
+
enableOutputValidation: false,
|
|
33
|
+
strictMode: true,
|
|
34
|
+
|
|
35
|
+
// Performance settings
|
|
36
|
+
enableCaching: false,
|
|
37
|
+
maxCacheSize: 100,
|
|
38
|
+
cacheTimeout: 300000, // 5 minutes
|
|
39
|
+
|
|
40
|
+
// Error handling
|
|
41
|
+
enableDetailedErrors: process.env.NODE_ENV !== 'production',
|
|
42
|
+
logErrors: true,
|
|
43
|
+
throwOnValidationError: true,
|
|
44
|
+
|
|
45
|
+
// Rate limiting (per tool)
|
|
46
|
+
rateLimit: {
|
|
47
|
+
enabled: false,
|
|
48
|
+
maxRequests: 100,
|
|
49
|
+
windowMs: 60000 // 1 minute
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
# � API Testing Skills - User Guide
|
|
2
|
+
|
|
3
|
+
Welcome to the **Democratize Quality API Testing Skills**! These powerful AI skills help you plan, generate, and heal API tests automatically, working across multiple AI coding tools (GitHub Copilot, Codex CLI, Claude Code, Cursor, and more).
|
|
4
|
+
|
|
5
|
+
## 🎯 Overview
|
|
6
|
+
|
|
7
|
+
The API Testing Skills provide a complete workflow for API quality assurance:
|
|
8
|
+
|
|
9
|
+
1. **📋 /api-planning** - Analyzes API schemas and creates comprehensive test plans
|
|
10
|
+
2. **🔧 /test-generation** - Generates executable tests (Playwright, Jest, Postman)
|
|
11
|
+
3. **🔬 /test-healing** - Debugs and fixes failing API tests automatically
|
|
12
|
+
|
|
13
|
+
## 🚀 Getting Started
|
|
14
|
+
|
|
15
|
+
### Prerequisites
|
|
16
|
+
- **AI Coding Tool** with Agent Skills support:
|
|
17
|
+
- GitHub Copilot (VS Code or CLI)
|
|
18
|
+
- Codex CLI (OpenAI)
|
|
19
|
+
- Claude Code (Anthropic)
|
|
20
|
+
- Cursor, Roo Code, or other compatible tools
|
|
21
|
+
- **Node.js 14+** for running generated tests
|
|
22
|
+
- **API documentation** (OpenAPI/Swagger preferred) or API endpoint access
|
|
23
|
+
|
|
24
|
+
### Quick Setup
|
|
25
|
+
1. Install the Democratize Quality MCP Server with skills: `npx @democratize-quality/mcp-server --agents`
|
|
26
|
+
2. Start a conversation with your AI coding tool
|
|
27
|
+
3. Use skills by typing `/api-planning`, `/test-generation`, or `/test-healing`, or mention relevant tasks
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 📋 /api-planning Skill
|
|
32
|
+
|
|
33
|
+
**Purpose**: Analyze API schemas and create comprehensive test plans covering functional, security, and edge case testing.
|
|
34
|
+
|
|
35
|
+
### When to Use the API Planning Skill
|
|
36
|
+
|
|
37
|
+
#### Scenario 1: You have an OpenAPI/Swagger schema
|
|
38
|
+
```
|
|
39
|
+
I need to create a comprehensive test plan for my REST API. I have the OpenAPI schema at https://petstore.swagger.io/v2/swagger.json - can you analyze it and generate a detailed test plan covering all endpoints, authentication, and edge cases?
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### Scenario 2: You have API documentation but no schema
|
|
43
|
+
```
|
|
44
|
+
I have a user management API at https://api.myapp.com with endpoints for registration, login, user CRUD operations, and admin functions. Can you help me create a comprehensive test plan that covers happy paths, error scenarios, and security testing?
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### Scenario 3: GraphQL API planning
|
|
48
|
+
```
|
|
49
|
+
I have a GraphQL API with user, product, and order operations. Can you help me create a test plan that covers queries, mutations, authentication, and data validation scenarios?
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Example Skill Prompts
|
|
53
|
+
|
|
54
|
+
**Basic Schema Analysis:**
|
|
55
|
+
```
|
|
56
|
+
Help me analyze my OpenAPI schema and create a test plan. The schema is at https://api.example.com/docs/swagger.json and I want to include security testing and error handling scenarios.
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Custom Test Categories:**
|
|
60
|
+
```
|
|
61
|
+
I need an API test plan for my e-commerce API. Please focus on functional testing, security testing, and integration scenarios. The API base URL is https://shop-api.example.com and I have the schema content ready to share.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Manual API Exploration:**
|
|
65
|
+
```
|
|
66
|
+
I don't have an API schema but need to create a test plan for my authentication API. The endpoints are /login, /register, /refresh-token, and /logout. Can you help me explore these endpoints and create a comprehensive test plan?
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Expected Outputs
|
|
70
|
+
- **Comprehensive test plan** in markdown format
|
|
71
|
+
- **Endpoint analysis** with request/response examples
|
|
72
|
+
- **Security test scenarios** (SQL injection, XSS, auth bypasses)
|
|
73
|
+
- **Edge case coverage** (boundary conditions, error handling)
|
|
74
|
+
- **Integration test workflows** with request chaining
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 🔧 /test-generation Skill
|
|
79
|
+
|
|
80
|
+
**Purpose**: Convert test plans into executable tests in multiple formats (Playwright, Jest, Postman collections).
|
|
81
|
+
|
|
82
|
+
### When to Use the Test Generation Skill
|
|
83
|
+
|
|
84
|
+
#### Scenario 1: Generate from existing test plan
|
|
85
|
+
```
|
|
86
|
+
I have an API test plan in ./docs/api-test-plan.md. Can you generate executable Jest tests and Postman collections from this plan? I want to include authentication setup and use https://api.myapp.com as the base URL.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### Scenario 2: Generate specific test format
|
|
90
|
+
```
|
|
91
|
+
Please create Playwright tests from my test plan. I need the tests to include proper authentication handling and session management for my REST API testing.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### Scenario 3: Batch generation for CI/CD
|
|
95
|
+
```
|
|
96
|
+
I need to generate all test formats (Jest, Playwright, and Postman) from my API test plan for our CI/CD pipeline. The tests should include setup/teardown and be ready for automated execution.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Example Skill Prompts
|
|
100
|
+
|
|
101
|
+
**Complete Test Suite Generation:**
|
|
102
|
+
```
|
|
103
|
+
Create a complete test suite from my test plan. Generate Jest tests, Playwright tests, and Postman collections. Include authentication setup and organize the tests for easy maintenance.
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Framework-Specific Generation:**
|
|
107
|
+
```
|
|
108
|
+
I need Jest API tests generated from my test plan with proper axios configuration, error handling, and session management. The base URL should be configurable via environment variables.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Integration with Existing Tests:**
|
|
112
|
+
```
|
|
113
|
+
Can you generate Playwright API tests that integrate with my existing test structure? I want to add these to my current test suite without conflicts.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Expected Outputs
|
|
117
|
+
- **Executable test files** in requested formats
|
|
118
|
+
- **Test utilities and helpers** for authentication and data management
|
|
119
|
+
- **Configuration files** for test runners
|
|
120
|
+
- **Setup/teardown scripts** for test environment management
|
|
121
|
+
- **Documentation** for running and maintaining tests
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 🔬 /test-healing Skill
|
|
126
|
+
|
|
127
|
+
**Purpose**: Debug and automatically fix failing API tests using intelligent analysis and healing strategies.
|
|
128
|
+
|
|
129
|
+
### When to Use the Test Healing Skill
|
|
130
|
+
|
|
131
|
+
#### Scenario 1: Tests failing after API changes
|
|
132
|
+
```
|
|
133
|
+
My API tests in ./tests/api-tests.spec.js are failing after our latest API deployment. Can you analyze the failures and fix the tests automatically? I want to keep backups of the original files.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Scenario 2: Authentication issues
|
|
137
|
+
```
|
|
138
|
+
My Jest tests are failing with 401 errors - it seems like our authentication method changed. Can you help heal these tests and update the auth configuration?
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
#### Scenario 3: Bulk test healing
|
|
142
|
+
```
|
|
143
|
+
I have multiple test files that are broken after API schema changes. Can you fix all tests in my ./tests/ directory and provide a report of what was changed?
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Example Skill Prompts
|
|
147
|
+
|
|
148
|
+
**Automated Healing:**
|
|
149
|
+
```
|
|
150
|
+
Please fix my failing API tests. The test files are in ./tests/ and I want automatic healing with backup creation. Focus on authentication and endpoint issues.
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Analysis Before Fixing:**
|
|
154
|
+
```
|
|
155
|
+
My API tests are failing and I need to understand why before applying fixes. Can you analyze the test failures first and then suggest healing strategies?
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Targeted Healing:**
|
|
159
|
+
```
|
|
160
|
+
I have specific authentication failures in my tests. Please focus on auth-repair and endpoint-fix strategies only.
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Expected Outputs
|
|
164
|
+
- **Detailed failure analysis** with categorized error types
|
|
165
|
+
- **Automatically fixed test files** with applied healing strategies
|
|
166
|
+
- **Backup files** of original tests before modifications
|
|
167
|
+
- **Healing report** showing what was changed and why
|
|
168
|
+
- **Recommendations** for preventing similar issues
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## 🔄 Complete Workflow Examples
|
|
173
|
+
|
|
174
|
+
### Workflow 1: From Schema to Working Tests
|
|
175
|
+
```
|
|
176
|
+
I have a new API with OpenAPI schema at https://api.newproject.com/docs/swagger.json.
|
|
177
|
+
|
|
178
|
+
1. First, analyze the schema and create a comprehensive test plan
|
|
179
|
+
2. Then create Jest and Postman tests from the plan
|
|
180
|
+
3. Finally, help me set up the test environment and run the tests
|
|
181
|
+
|
|
182
|
+
I want full coverage including security testing and edge cases.
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Workflow 2: Fixing Legacy Tests
|
|
186
|
+
```
|
|
187
|
+
I inherited a project with broken API tests in ./legacy-tests/. The API has evolved but the tests weren't updated.
|
|
188
|
+
|
|
189
|
+
1. Analyze what's broken in the tests
|
|
190
|
+
2. Automatically fix the tests where possible
|
|
191
|
+
3. For unfixable issues, help me understand what manual changes are needed
|
|
192
|
+
4. Generate a report of all changes made
|
|
193
|
+
|
|
194
|
+
Please create backups before making any changes.
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Workflow 3: Building Test Suite from Scratch
|
|
198
|
+
```
|
|
199
|
+
I need to build a complete API test suite for my microservices architecture. I have 3 services with different authentication methods.
|
|
200
|
+
|
|
201
|
+
1. Help me plan comprehensive test scenarios for each service
|
|
202
|
+
2. Generate tests that work together for integration testing
|
|
203
|
+
3. Set up proper test data management and cleanup
|
|
204
|
+
4. Create a maintenance strategy for keeping tests updated
|
|
205
|
+
|
|
206
|
+
The services are: user-service, order-service, and payment-service.
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## 🛠️ Advanced Usage Tips
|
|
210
|
+
|
|
211
|
+
### 1. Combining Skills Effectively
|
|
212
|
+
```
|
|
213
|
+
Can you create a complete API testing solution by:
|
|
214
|
+
1. Analyzing my OpenAPI schema and creating a test plan
|
|
215
|
+
2. Generating comprehensive test suites
|
|
216
|
+
3. Setting up automated healing for CI/CD
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### 2. Custom Configuration
|
|
220
|
+
```
|
|
221
|
+
I need tests generated with specific configurations:
|
|
222
|
+
- Custom authentication headers
|
|
223
|
+
- Environment-specific base URLs
|
|
224
|
+
- Special error handling for rate limiting
|
|
225
|
+
- Integration with my existing test framework
|
|
226
|
+
|
|
227
|
+
Can you help customize the generated tests?
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### 3. Maintenance and Updates
|
|
231
|
+
```
|
|
232
|
+
My API evolves frequently. Can you help me set up a process where:
|
|
233
|
+
1. Schema changes trigger automatic test plan updates
|
|
234
|
+
2. Tests are regenerated when needed
|
|
235
|
+
3. Healing runs automatically in CI/CD
|
|
236
|
+
4. I get reports on what changed and why
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## 🎯 Best Practices
|
|
240
|
+
|
|
241
|
+
### For /api-planning Skill:
|
|
242
|
+
- **Provide complete schemas** when available for best results
|
|
243
|
+
- **Specify security requirements** explicitly
|
|
244
|
+
- **Include business logic context** for better test scenarios
|
|
245
|
+
- **Request specific test categories** if you have preferences
|
|
246
|
+
|
|
247
|
+
### For /test-generation Skill:
|
|
248
|
+
- **Choose appropriate test format** for your use case
|
|
249
|
+
- **Specify authentication details** early in the process
|
|
250
|
+
- **Include environment configuration** requirements
|
|
251
|
+
- **Request helper utilities** for complex scenarios
|
|
252
|
+
|
|
253
|
+
### For /test-healing Skill:
|
|
254
|
+
- **Always enable backups** when healing tests
|
|
255
|
+
- **Start with analysis-only mode** for critical tests
|
|
256
|
+
- **Specify healing strategies** if you know the issue type
|
|
257
|
+
- **Review healing reports** to understand changes
|
|
258
|
+
|
|
259
|
+
## 🔧 Troubleshooting
|
|
260
|
+
|
|
261
|
+
### Common Issues and Solutions
|
|
262
|
+
|
|
263
|
+
**Skill Not Responding:**
|
|
264
|
+
```
|
|
265
|
+
I'm trying to analyze an OpenAPI schema but getting errors. Can you help me troubleshoot?
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Tests Not Generating Properly:**
|
|
269
|
+
```
|
|
270
|
+
The generated tests don't match my test plan. Can you help me understand what went wrong and regenerate them correctly?
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
**Healing Not Working:**
|
|
274
|
+
```
|
|
275
|
+
The healing process made changes but my tests are still failing. Can you analyze what additional fixes are needed?
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## 📚 Additional Resources
|
|
279
|
+
|
|
280
|
+
### Related Tools
|
|
281
|
+
- Use `api_request` for manual API testing and validation
|
|
282
|
+
- Use `api_session_status` to monitor test execution
|
|
283
|
+
- Use `api_session_report` to generate detailed test reports
|
|
284
|
+
|
|
285
|
+
### Integration Examples
|
|
286
|
+
```
|
|
287
|
+
Can you show me how to integrate these generated tests with:
|
|
288
|
+
1. GitHub Actions for CI/CD
|
|
289
|
+
2. Jest for local development
|
|
290
|
+
3. Postman for manual testing
|
|
291
|
+
4. Playwright for browser-based API testing
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 🤝 Getting Help
|
|
297
|
+
|
|
298
|
+
If you need assistance with any of these skills:
|
|
299
|
+
|
|
300
|
+
1. **Be specific** about your API type, authentication, and requirements
|
|
301
|
+
2. **Provide context** about your existing test setup
|
|
302
|
+
3. **Share error messages** when things don't work as expected
|
|
303
|
+
4. **Ask for explanations** of generated code or healing decisions
|
|
304
|
+
|
|
305
|
+
**Example Help Request:**
|
|
306
|
+
```
|
|
307
|
+
I'm new to API testing and have a REST API with JWT authentication. Can you walk me through using all three skills to create a complete testing solution? I want to understand each step and the generated code.
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
Remember: These skills are designed to work together seamlessly. Start with planning, move to generation, and use healing to maintain your tests as your API evolves!
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# 🚀 API Testing Skills Quick Reference
|
|
2
|
+
|
|
3
|
+
## 📋 Quick Prompts for AI Coding Tools
|
|
4
|
+
|
|
5
|
+
### 📋 /api-planning Skill
|
|
6
|
+
|
|
7
|
+
**Schema Analysis:**
|
|
8
|
+
```
|
|
9
|
+
Analyze my OpenAPI schema at [URL] and create a comprehensive test plan with security testing.
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
**Manual Exploration:**
|
|
13
|
+
```
|
|
14
|
+
I need an API test plan for my [API_TYPE] API with endpoints [LIST_ENDPOINTS]. Include authentication, error handling, and edge cases.
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Custom Categories:**
|
|
18
|
+
```
|
|
19
|
+
Create an API test plan focusing on [functional/security/performance/integration] testing for my API at [BASE_URL].
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### 🔧 /test-generation Skill
|
|
23
|
+
|
|
24
|
+
**Complete Generation:**
|
|
25
|
+
```
|
|
26
|
+
Create [jest/playwright/postman/all] tests from my test plan at [PATH]. Include authentication setup.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**Framework Specific:**
|
|
30
|
+
```
|
|
31
|
+
Generate [FRAMEWORK] tests from my API test plan with proper error handling and session management.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Batch Generation:**
|
|
35
|
+
```
|
|
36
|
+
Generate all test formats (Jest, Playwright, Postman) from my test plan for CI/CD integration.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### 🔬 /test-healing Skill
|
|
40
|
+
|
|
41
|
+
**Auto-Healing:**
|
|
42
|
+
```
|
|
43
|
+
Fix my failing tests in [PATH]. Create backups and focus on [auth/endpoint/assertion] issues.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Analysis First:**
|
|
47
|
+
```
|
|
48
|
+
Analyze my failing API tests in [PATH] before applying fixes. I want to understand what's broken.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Bulk Healing:**
|
|
52
|
+
```
|
|
53
|
+
Heal all API tests in my [DIRECTORY] after API changes. Use all healing strategies and provide a detailed report.
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 🔄 Complete Workflows
|
|
57
|
+
|
|
58
|
+
**New API Testing:**
|
|
59
|
+
```
|
|
60
|
+
I have a new API with schema at [URL]. Please:
|
|
61
|
+
1. Create a test plan
|
|
62
|
+
2. Generate Jest and Postman tests
|
|
63
|
+
3. Help me set up test execution
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Legacy Test Fixing:**
|
|
67
|
+
```
|
|
68
|
+
My API tests in [PATH] are broken after API updates. Please:
|
|
69
|
+
1. Analyze failures
|
|
70
|
+
2. Automatically fix what's possible
|
|
71
|
+
3. Report what needs manual attention
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Complete Test Suite:**
|
|
75
|
+
```
|
|
76
|
+
Build a complete testing solution for my [DESCRIPTION] API:
|
|
77
|
+
1. Plan comprehensive test scenarios
|
|
78
|
+
2. Generate executable tests in multiple formats
|
|
79
|
+
3. Set up automated healing for maintenance
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 🎯 One-Liner Prompts
|
|
83
|
+
|
|
84
|
+
| Task | Prompt |
|
|
85
|
+
|------|--------|
|
|
86
|
+
| **Quick Schema Analysis** | `Analyze my OpenAPI schema at [URL] and create a test plan` |
|
|
87
|
+
| **Generate Jest Tests** | `Generate Jest tests from my test plan with authentication setup` |
|
|
88
|
+
| **Fix Failing Tests** | `Fix my failing tests in [PATH] automatically` |
|
|
89
|
+
| **Create Postman Collection** | `Generate a Postman collection from my API test plan` |
|
|
90
|
+
| **Security Testing Plan** | `Create an API security test plan for my REST API at [URL]` |
|
|
91
|
+
| **Integration Tests** | `Generate integration tests that chain multiple API calls` |
|
|
92
|
+
| **Auth Issues** | `Fix authentication failures in my API tests automatically` |
|
|
93
|
+
| **All Formats** | `Generate Jest, Playwright, and Postman tests from my plan` |
|
|
94
|
+
|
|
95
|
+
## 🔧 Variables to Replace
|
|
96
|
+
|
|
97
|
+
- `[URL]` - Your API schema URL or base URL
|
|
98
|
+
- `[PATH]` - File path to your test plan or test files
|
|
99
|
+
- `[FRAMEWORK]` - jest, playwright, postman
|
|
100
|
+
- `[API_TYPE]` - REST, GraphQL, etc.
|
|
101
|
+
- `[LIST_ENDPOINTS]` - Comma-separated list of endpoints
|
|
102
|
+
- `[BASE_URL]` - Your API's base URL
|
|
103
|
+
- `[DIRECTORY]` - Directory containing test files
|
|
104
|
+
- `[DESCRIPTION]` - Brief description of your API
|
|
105
|
+
|
|
106
|
+
## 📱 Mobile-Friendly Quick Commands
|
|
107
|
+
|
|
108
|
+
**Plan:** `Create API test plan for [YOUR_API]`
|
|
109
|
+
**Generate:** `Generate [FORMAT] tests from plan`
|
|
110
|
+
**Heal:** `Fix failing tests in [PATH]`
|
|
111
|
+
**All:** `Complete API testing solution for [API]`
|