Skip to main content
Glama
raymondsambur

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.

Related MCP server: Screenshot MCP Server

šŸŽÆ 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

  • AI Model: Google Gemini (gemini-2.0-flash via @google/genai SDK)

  • Integration: Notion API (@notionhq/client)

  • Reporting: Allure Report

šŸ“‚ Directory Structure

/ ā”œā”€ā”€ .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:

    git clone <repository-url> cd automation-script-generator
  2. Install dependencies:

    npm install
  3. Environment Configuration: Create a .env file in the root directory and add your keys:

    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:

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:

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:

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/raymondsambur/automation-script-generator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server