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.
-
Required:
-
Node.js v22 or higher
-
A modern browser (e.g., Chrome)
-
npm install
npm run build-
Copy frontend build files
- Copy the contents of the dist folder into the
lib/src/resources/staticdirectory of the lib project.
- Copy the contents of the dist folder into the
-
Rename the HTML file
- Rename
index.htmltoapighost-ui.html
- Rename
-
Build and integrate Spring JAR
-
In Gradle > Tasks >
shadow, runshadowJar -
Move the generated
api-ghost-agent-spring.jarfile frombuild/libsto thebuild/libsfolder of your target project -
Add the following to the target project’s
build.gradledependencies:implementation files('./build/libs/api-ghost-agent-spring.jar')
-
-
Run the project
- Access via browser:
http://localhost:<port>/domain/apighost-ui
- Access via browser:
- Drag-and-drop scenario builder using React Flow
You can create nodes by dragging and dropping endpoints listed in the API list.
- Real-time test execution and result visualization
Test results are displayed in real time as the scenario is executed.
- Supports WebSocket & HTTP protocols
WebSocket-based APIs are also fully supported for testing.
- Request-response mapping UI
You can define expected response values and store values to pass to the next endpoint.
- Result dashboard page
Completed test results can be reviewed on a dedicated dashboard page.
- Generate and run load test scripts
You can configure load test scenarios and set the number of virtual users.
- Monitor real-time results of load tests
Load test progress and results can be monitored in real time.
-
Please submit issues for bug reports or feature suggestions.
Bug Issue -
Follow the pull request and code review process.
PR Issue
This project is licensed under the MIT License.