Home
Softono

Hal Test

Open source Apache-2.0 JavaScript
14
Stars
1
Forks
9
Issues
2
Watchers
2 months
Last Commit

 About Hal Test

HAL-TEST is an Open Source visual automation framework for Playwright that lets developers design and orchestrate browser tests using a node-based drag-and-drop interface.

Platforms

Web Self-hosted

Languages

JavaScript

Need Help Installing Hal Test?

We provide expert installation service for this software. Our team will install, configure, and secure Hal Test on your server. plans start at just $30.

HAL-TEST Logo

HAL-TEST 🤖

The Missing Link in Browser Automation

Apache License 2.0 Playwright React Flow Slack

HAL-TEST is a modern, visual automation framework that bridges the gap between manual QA and technical automation. Built on top of Playwright, it provides a high-performance, node-based interface to build, manage, and scale complex browser workflows without writing a single line of boilerplate code.


📺 See it in Action

HAL-TEST Demo

Visual node-based logic with real-time execution feedback.

🚀 Why HAL-TEST?

Most automation frameworks suffer from "Framework Fatigue": complex YAMLs, brittle selectors, and high barriers to entry. HAL-TEST changes the game:

  • Low Code, Pro Power: Use the full strength of Playwright through a visual canvas.
  • Zero Vendor Lock-in: Export your flows or run them via the HAL-TEST CLI.
  • Self-Healing Ready: Designed to handle dynamic modern web apps with intelligent node logic.
  • Built for Teams: Allow manual QAs to build tests that Seniors can audit and scale.

✨ Key Features

🧠 Visual Flow Editor

  • Node-Based Logic: 50+ specialized nodes for DOM manipulation, network interception, and AI.
  • Smart Connections: Animated execution feedback—watch your test run in real-time.
  • Category-Specific UI: Glassmorphic design with 50+ unique icons for instant recognition.
  • Viewing the App: Visual Documentation: Detailed guide for nodes, colors, and real-time feedback.

🛠️ Developer-First DX

  • Powerful CLI: Integrated terminal tool for CI/CD pipelines (GitHub Actions, Jenkins).
  • Network Orchestration: Mock, intercept, and modify XHR/Fetch requests visually.
  • Session Management: Persist cookies, local storage, and auth tokens between runs.
  • LLM Integration: Semantic validation and AI-powered node generation.

🏗️ Architecture & Tech Stack

  • Frontend: React 18, React Flow, Motion 12, TanStack Query.
  • Backend: Node.js, Express, Playwright.
  • Database: SQLite (local persistence) + IndexedDB (client-side screenshots).
  • Monorepo: Turbo + pnpm workspaces.

⚡ Quick Start

The fastest way to get started is using npx. No cloning or installation required:

npx haltest@latest

This will start the backend server, run pre-requisite checks, and open the HAL-TEST studio in your browser.


🏗️ Technical Setup (Development)

Prerequisites

  • Node.js 20+ and pnpm

1. Setup

git clone https://github.com/andresguc1/hal-test.git
cd hal-test
pnpm install

2. Configure Guest Mode

For quick local testing without Supabase:

# Set in your .env
AUTH_ENABLED=false
VITE_AUTH_ENABLED=false

3. Run

pnpm --filter backend db:init
pnpm run dev

App: http://localhost:5173/app/
Server: http://localhost:2001


💻 Terminal CLI

Automate your workflows. You can run the CLI directly via npx (recommended) or install it globally.

Running with NPX

# Run a flow by ID
npx haltest@latest cli run <flow_id> --headed

Local Installation

If you prefer a local installation:

cd apps/cli && npm install -g .

🐳 Docker Deployment (Recommended)

To avoid missing system dependencies for Playwright, use Docker:

Bash docker compose up -d --build See DOCKER.md for detailed production setup.

⚡ Developer Workflow

To make contributing easier, we provide unified commands in the root package.json:

Update your Local Repo

Pull the latest changes from GitHub, install all dependencies, and rebuild the frontend monolith in one step:

pnpm run update:app

Port Management & Cleanup

If you encounter EADDRINUSE errors or need to clear the development ports (2001 and 3000), use the unified stop command:

pnpm run stop

The CLI launcher also features smart port detection—it will automatically detect if the backend is already running and connect to it instead of failing.

Publish a New CLI Release

(Maintainers only). This command bumps the patch version, runs the standalone build for the CLI, and publishes it to NPM:

pnpm run release

🤝 Community & Support

Join our Slack: HAL-TEST Talk

Star the Repo: If this project helps you, give us a ⭐!

📄 License

Apache License 2.0 - Created by Andresguc1