Skip to content

api-ghost/api-ghost-ui

Repository files navigation

WELCOME TO API GHOST GUI

image

Project Overview

API Ghost is a tool that simplifies complex API integration testing and load testing through an intuitive drag-and-drop interface. Without writing any code, users can visually connect APIs in sequence on a web interface or define test scenarios using a simple YAML file. This repository provides the GUI component, enabling consistent testing from local development to production environments. It also offers clear, visual reports of test results, significantly reducing the time required for testing by development and QA teams.


Installation & Usage

System Requirements

  • Required:

    • Node.js v22 or higher

    • A modern browser (e.g., Chrome)

Development Setup

npm install
npm run build

API GHOST UI Integration

  1. Copy frontend build files

    • Copy the contents of the dist folder into the lib/src/resources/static directory of the lib project.
  2. Rename the HTML file

    • Rename index.html to apighost-ui.html
  3. Build and integrate Spring JAR

    1. In Gradle > Tasks > shadow, run shadowJar

    2. Move the generated api-ghost-agent-spring.jar file from build/libs to the build/libs folder of your target project

    3. Add the following to the target project’s build.gradle dependencies:

      implementation files('./build/libs/api-ghost-agent-spring.jar')
  4. Run the project

    • Access via browser: http://localhost:<port>/domain/apighost-ui

Feature Summary

Scenario Testing

  • Drag-and-drop scenario builder using React Flow nodedrag You can create nodes by dragging and dropping endpoints listed in the API list.
  • Real-time test execution and result visualization realtimeresult Test results are displayed in real time as the scenario is executed.
  • Supports WebSocket & HTTP protocols websocket WebSocket-based APIs are also fully supported for testing.
  • Request-response mapping UI mapping You can define expected response values and store values to pass to the next endpoint.
  • Result dashboard page resultpage Completed test results can be reviewed on a dedicated dashboard page.

Load Testing

  • Generate and run load test scripts loadcreate You can configure load test scenarios and set the number of virtual users.
  • Monitor real-time results of load tests loadresult Load test progress and results can be monitored in real time.

Contribution Guide

  • Please submit issues for bug reports or feature suggestions.
    Bug Issue

  • Follow the pull request and code review process.
    PR Issue


License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages