Automation Script Generator MCP Server
# Automation Script Generator
## š Project Mission: Hybrid AI Automation Framework (Notion -> Playwright)
This project creates an autonomous end-to-end testing framework that bridges the gap between manual test case management and automated execution. It leverages Generative AI to automatically generate robust Playwright test scripts from Notion test tickets.
## šÆ Objectives
1. **Read**: Fetch test scenarios directly from a Notion Database.
2. **Generate**: Create executable Playwright (TypeScript) scripts automatically using **Google Gemini**.
3. **Execute**: Run tests with a "Self-Healing" mechanism for resilient locators.
4. **Report**: Generate detailed reports via Allure and reflect status updates back to Notion.
## š ļø Tech Stack
* **Language**: TypeScript, Node.js (v20+)
* **Framework**: [Playwright](https://playwright.dev/)
* **AI Model**: Google Gemini (`gemini-2.0-flash` via `@google/genai` SDK)
* **Integration**: Notion API (`@notionhq/client`)
* **Reporting**: Allure Report
## š Directory Structure
```text
/
āāā .agent/rules/ # Antigravity context rules
āāā config/ # Configuration files
ā āāā notion.config.ts # Notion API keys and DB IDs
āāā src/
ā āāā generator/ # THE BUILDER
ā ā āāā fetcher.ts # Pulls from Notion
ā ā āāā translator.ts # Gemini Agent (Notion -> TS Code)
ā ā āāā writer.ts # Saves .spec.ts files
ā āāā framework/ # THE RUNNER
ā ā āāā pages/ # Page Objects (POM)
ā ā āāā actions/ # Self-healing wrappers
ā āāā tests/ # Generated Spec files live here
āāā playwright.config.ts
āāā .env # Contains API Keys
āāā package.json
```
## āļø Setup & Installation
1. **Clone the repository:**
```bash
git clone <repository-url>
cd automation-script-generator
```
2. **Install dependencies:**
```bash
npm install
```
3. **Environment Configuration:**
Create a `.env` file in the root directory and add your keys:
```env
GEMINI_API_KEY=your_google_gemini_api_key
NOTION_TOKEN=your_notion_integration_token
NOTION_DATABASE_ID=your_notion_database_id
```
## š Usage
### 1. Generate Tests
To fetch "Ready for Automation" tickets from Notion and generate Playwright test files with **strict Page Object Model separation**:
```bash
npx ts-node src/generator/main.ts
```
* **Artifacts**:
* `src/framework/pages/*.page.ts`: Page Objects (private selectors, public methods).
* `src/tests/[module]/[module].data.ts`: Shared test data per module.
* `src/tests/[module]/[id]...spec.ts`: Clean test specs.
### 2. Run Tests
To execute the generated Playwright tests:
```bash
npm test
```
* **Video**: Recorded for ALL runs (available in Allure report).
* **Screenshots**: Captured only on failure.
### 3. View Reports
To generate and view the Allure test report:
```bash
npm run test:report # Generates report (cleans old results)
npm run test:open # Opens report in browser
```
## š§ Smart Actions (Self-Healing)
The framework includes a `SmartPage` wrapper that handles flaky selectors. If a primary selector fails, it attempts to "heal" by using fallback strategies (like text hints) and logs the event, preventing brittle test failures.
TDQS
Scored across 7 tools
Most tools have distinct purposes targeting different file types or stages in the test automation workflow. However, 'process_test_scenario' could overlap with the individual file generation tools, as it generates complete WDIO test files which might include components the other tools create separately. The descriptions help clarify but some ambiguity remains.
All tool names follow a consistent verb_noun pattern with snake_case, using clear action verbs like 'analyze', 'generate', 'process', and 'review'. The naming is predictable and readable throughout the set, with no deviations in style or convention.
With 7 tools, this server is well-scoped for generating WDIO automation scripts. Each tool serves a specific role in the workflow, from analysis to file generation and enhancement, making the count appropriate and efficient for the domain without being overwhelming or insufficient.
The tool set covers the core lifecycle of test automation generation, including analysis, file creation for components, features, pages, and steps, processing scenarios, and code review. A minor gap exists in lacking explicit tools for updating or deleting generated files, but agents can work around this by regenerating or using the review tool for modifications.