Home
Softono
hal-test

hal-test

Open source Apache-2.0 JavaScript
14
Stars
1
Forks
9
Issues
2
Watchers
3 weeks
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
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