awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
assaf avatar

assaf/zombieArchived

0
View on GitHub↗
5,630 stars·508 forks·JavaScript·MIT·22 viewszombie.js.org↗

Zombie

Zombie is a headless browser testing framework and full-stack test runner that simulates a complete browser environment entirely within Node.js. It renders and manipulates a virtual DOM using JavaScript alone, without relying on any native browser engine, and processes events, scripts, and page interactions through a single-threaded event loop. This makes it a Node.js browser automation tool that can load, navigate, and interact with web pages programmatically for testing, scraping, or debugging purposes.

The framework distinguishes itself through several integrated capabilities that work together in a single process. It provides a CSS selector-based assertion engine for checking page content and state, with support for regex patterns and custom error messages. Zombie manages browser sessions through cookie-based state tracking with domain and path specificity, and supports multiple tabs or windows as isolated contexts that can be opened, closed, and switched by index or name. It also includes a request-response interception pipeline that can intercept and modify HTTP, HTTPS, and file resources, along with hostname-to-server routing that maps named domains and ports to local test servers for realistic testing without network access.

The tool covers the full lifecycle of browser-based testing, including form interaction, page state assertion, and cookie management. It can fill out and submit web forms, select options, check boxes, and trigger page transitions during tests. Zombie also supports extension-based customization, allowing every new browser instance to be modified with additional properties, listeners, or methods through an extension function.

Features

  • Headless Browser Testing Frameworks - Runs automated browser tests from the command line without a visible UI, simulating page loads, clicks, and form submissions in Node.js.
  • Simulated Browser Environments - Simulates a full browser environment by processing events, scripts, and page interactions in a single-threaded Node.js event loop.
  • Cookie-Based Session Management - Manages browser sessions by storing and matching cookies with domain and path specificity for each page context.
  • Assertion Engines - Provides a CSS selector-based assertion engine for checking page content and state with regex and custom error messages.
  • Page State Assertions - Checks page content, element attributes, styles, URLs, cookies, and status codes using CSS selectors and built-in assertion methods.
  • Form Interaction Utilities - Fills out and submits web forms programmatically, selecting options, checking boxes, and triggering page transitions during tests.
  • Browser Automation Tools - Loads, navigates, and interacts with web pages entirely within Node.js using a JavaScript-based browser engine.
  • Full-Stack Test Runners - Executes client-side scripts, processes DOM events, and manages server-side state from a single Node.js process.
  • DOM Implementations - Renders and manipulates a virtual DOM entirely in JavaScript without relying on a native browser engine.
  • Request Interception - Intercepts HTTP, HTTPS, and file resources by passing them through a configurable pipeline of request and response handlers.
  • HTTP Request Interceptors - Intercepts and modifies HTTP, HTTPS, or file resources through request and response handler pipelines during browser tests.
  • Multi-Tab Simulators - Opens, closes, and switches between multiple browser windows or tabs by index or name to test tab-dependent workflows.
  • Tab-Based Window Managers - Supports multiple browser tabs or windows as isolated contexts that can be opened, closed, and switched by index or name.
  • Testing Utilities - Sets, retrieves, and deletes cookies with domain and path specificity to test cookie-dependent application behavior.
  • Test Runners - Fast, full-stack headless browser for Node.js.
  • Testing Frameworks - Insanely fast, full-stack, headless browser testing using node.js.

Star history

Star history chart for assaf/zombieStar history chart for assaf/zombie

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Zombie

Similar open-source projects, ranked by how many features they share with Zombie.
  • getgauge/taikogetgauge avatar

    getgauge/taiko

    3,663View on GitHub↗

    Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions and verify application behavior. It functions as a headless browser testing tool capable of simulating real interactions and asserting page states in Chromium and Firefox. The project includes a browser interaction recorder that captures live actions and exports them as executable JavaScript automation scripts. It also serves as a web accessibility auditor, analyzing pages to detect accessibility violations and ensure compliance with inclusive design standards. The framework c

    JavaScriptautomationheadlessheadless-browsers
    View on GitHub↗3,663
  • alisoftware/ohhttpstubsAliSoftware avatar

    AliSoftware/OHHTTPStubs

    5,068View on GitHub↗

    OHHTTPStubs is an HTTP network mocking library and request interceptor used to simulate server responses for testing application behavior without a live backend. It functions as a network request stubbing tool that captures outgoing network calls and replaces them with predefined mock data, custom status codes, and headers. The library distinguishes itself through its ability to simulate a wide range of network conditions, including artificial latency and connection failures. It supports dynamic response sequencing, allowing the tool to return a series of different responses for the same requ

    Objective-Ciosmockmock-server
    View on GitHub↗5,068
  • casperjs/casperjscasperjs avatar

    casperjs/casperjs

    7,172View on GitHub↗

    CasperJS is a scripting utility and testing framework for automating web scenarios via headless browsers. It enables the execution of navigation steps and form inputs to automate complex user scenarios, extract web data, and validate the state of remote pages. The project provides specific tooling for PhantomJS and SlimerJS, allowing users to write programmable sequences for web navigation and data extraction. It includes capabilities for capturing visual snapshots of full pages or specific elements to perform user interface regression testing. The framework covers broad automation areas inc

    JavaScript
    View on GitHub↗7,172
  • n1k0/casperjsn1k0 avatar

    n1k0/casperjs

    7,168View on GitHub↗

    CasperJS is a headless browser testing framework and web functional testing suite. It provides a toolkit for automating web browser interactions to perform functional testing and visual verification of web applications. The project functions as a WebDriver automation tool and a browser screenshot utility, enabling the capture of images of web pages or specific elements to verify visual layout. It also serves as an XML test report generator, exporting the results of automated browser test suites into a standardized format for reporting tools. The framework covers automated browser testing, fu

    JavaScript
    View on GitHub↗7,168
See all 30 alternatives to Zombie→

Frequently asked questions

What does assaf/zombie do?

Zombie is a headless browser testing framework and full-stack test runner that simulates a complete browser environment entirely within Node.js. It renders and manipulates a virtual DOM using JavaScript alone, without relying on any native browser engine, and processes events, scripts, and page interactions through a single-threaded event loop. This makes it a Node.js browser automation tool that can load, navigate, and interact with web pages programmatically for testing,…

What are the main features of assaf/zombie?

The main features of assaf/zombie are: Headless Browser Testing Frameworks, Simulated Browser Environments, Cookie-Based Session Management, Assertion Engines, Page State Assertions, Form Interaction Utilities, Browser Automation Tools, Full-Stack Test Runners.

What are some open-source alternatives to assaf/zombie?

Open-source alternatives to assaf/zombie include: getgauge/taiko — Taiko is a browser automation framework and web end-to-end testing library used to perform programmatic user actions… alisoftware/ohhttpstubs — OHHTTPStubs is an HTTP network mocking library and request interceptor used to simulate server responses for testing… casperjs/casperjs — CasperJS is a scripting utility and testing framework for automating web scenarios via headless browsers. It enables… n1k0/casperjs — CasperJS is a headless browser testing framework and web functional testing suite. It provides a toolkit for… microsoft/playwright-python — Playwright for Python is a browser automation framework designed for end-to-end testing, web scraping, and user… microsoft/playwright — Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow…