Skip to main content
Glama
felipeassis10

bdd-regression-test-generator

bdd-regression-test-generator

Ein autonomer Agent, der REST-API-Endpunkte und OpenAPI/Swagger-Serviceverträge analysiert, um Folgendes zu generieren:

  • BDD-Gherkin-Spezifikationen (.feature-Dateien), die alle Happy-Path- und Edge-Case-Szenarien beschreiben.

  • TypeScript-Regressionstestskripte (Jest- und Playwright-bereit), die direkt gegen echte Dienste ausgeführt werden können.

Es stellt zwei Schnittstellen bereit:

Schnittstelle

Beschreibung

CLI

bdd-gen generate --input <spec> --output <dir>

MCP-Server

Model Context Protocol-Server, der für jeden MCP-fähigen Host (z. B. IBM Bob, Claude Desktop) bereitgestellt werden kann


Funktionen

  • Analysiert OpenAPI-3.x- und Swagger-2.0-Verträge (JSON oder YAML).

  • Extrahiert alle Pfade, HTTP-Methoden, Parameter, Anforderungstexte und Antwortschemata.

  • Generiert eine .feature-Datei pro Endpunkt-Tag-Gruppe.

  • Generiert eine *.spec.ts-Datei pro Endpunkt-Tag-Gruppe mit vollständig typisierten Jest-Testfällen.

  • Unterstützt die Injektion einer benutzerdefinierten Basis-URL zum Generierungszeitpunkt.

  • Der MCP-Server stellt die Tools analyze_contract, generate_gherkin und generate_tests bereit.


Related MCP server: Swagger Testcase MCP

Installation

npm install
npm run build

Zur Verwendung als globale CLI nach dem Build:

npm link

CLI-Nutzung

# Generate both Gherkin and Jest tests from an OpenAPI YAML spec
bdd-gen generate --input ./petstore.yaml --output ./generated --baseUrl https://api.example.com

# Generate only Gherkin feature files
bdd-gen generate --input ./petstore.json --output ./generated --only gherkin

# Generate only Jest test scripts
bdd-gen generate --input ./petstore.json --output ./generated --only jest

# Analyze a contract and print a summary (no file generation)
bdd-gen analyze --input ./petstore.yaml

CLI-Optionen

Option

Alias

Beschreibung

Standard

--input <path>

-i

Pfad zur OpenAPI/Swagger-Vertragsdatei

erforderlich

--output <dir>

-o

Verzeichnis, in das generierte Dateien geschrieben werden

./generated

--baseUrl <url>

-b

Basis-URL, die in die generierten Testdateien eingebettet wird

http://localhost:3000

--only <type>

Nur gherkin oder jest generieren (weglassen für beide)

beide

--verbose

-v

Ausführliche Protokollierung aktivieren

false


MCP-Server

Starten Sie den MCP-Server mit:

npm run mcp

Der Server registriert die folgenden Tools:

analyze_contract

Analysiert einen OpenAPI/Swagger-Vertrag aus einem Dateipfad oder einer rohen JSON/YAML-Zeichenfolge.

Eingabe:

{ "source": "./petstore.yaml" }

Ausgabe: Ein strukturiertes ContractSummary-JSON-Objekt mit Pfaden, Methoden, Parametern und Schemata.


generate_gherkin

Generiert Gherkin-.feature-Inhalte aus einem analysierten Vertrag.

Eingabe:

{
  "source": "./petstore.yaml",
  "outputDir": "./generated"
}

Ausgabe: Liste der geschriebenen .feature-Dateipfade.


generate_tests

Generiert TypeScript-Jest-Testskripte aus einem analysierten Vertrag.

Eingabe:

{
  "source": "./petstore.yaml",
  "outputDir": "./generated",
  "baseUrl": "https://api.example.com"
}

Ausgabe: Liste der geschriebenen .spec.ts-Dateipfade.


Projektstruktur

bdd-regression-test-generator/
├── src/
│   ├── parser/
│   │   └── contract-analyzer.ts   # OpenAPI/Swagger parser and extractor
│   ├── generator/
│   │   ├── gherkin-builder.ts     # Gherkin .feature file builder
│   │   └── jest-builder.ts        # TypeScript Jest spec builder
│   ├── mcp/
│   │   └── server.ts              # MCP server exposing generation tools
│   └── cli.ts                     # Commander-based CLI entry point
├── tests/
│   └── generator.test.ts          # Unit tests for parser and generators
├── dist/                          # Compiled output (after build)
├── package.json
├── tsconfig.json
└── README.md

Tests ausführen

npm test

Mit Abdeckung:

npm run test:coverage

Beispiel: Generiertes Gherkin

Feature: Pets

  Background:
    Given the API base URL is "https://api.example.com"

  Scenario: GET /pets - list all pets - success
    Given I have valid authentication credentials
    When I send a GET request to "/pets"
    Then the response status code should be 200
    And the response body should match the "PetList" schema

  Scenario: GET /pets - list all pets - unauthorized
    Given I have invalid or missing authentication credentials
    When I send a GET request to "/pets"
    Then the response status code should be 401

Beispiel: Generierter Jest-Test

import axios from 'axios';

const BASE_URL = 'https://api.example.com';

describe('Pets', () => {
  describe('GET /pets', () => {
    it('should return 200 for a valid request', async () => {
      const response = await axios.get(`${BASE_URL}/pets`);
      expect(response.status).toBe(200);
    });
  });
});

Lizenz

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for the comprehensive analysis of Swagger 2.0 and OpenAPI 3.x contracts. It allows users to extract detailed information about endpoints, request/response schemas, parameters, and security configurations from API documentation.
  • A
    license
    A
    quality
    F
    maintenance
    MCP server for API test case generation from Swagger/OpenAPI specs. Parses Swagger 2.0 and OpenAPI 3.x, generates test cases across 8 categories (positive, negative, boundary, auth, security, idempotency, pagination, business logic), and exports to Postman, TestRail, Allure, k6, pytest, Gherkin, and CSV. Supports internal corporate APIs with auth headers. Auto-saves export files to your working di
    10
    11
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    High-performance MCP server for OpenAPI specifications that parses specs, diffs versions, tracks dependencies, and generates code (TypeScript, Rust, Python).
    22
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP server for AI access to Swagger by SmartBear.

  • MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.

  • Generate a typed SDK, CLI, and MCP server from any OpenAPI or GraphQL spec, and keep them current.

View all MCP Connectors

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/felipeassis10/bdd-regression-test-generator'

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