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

Test automation framework

Ranking updated Sep 15, 2026

For automated test execution, the first results are vitest-dev/vitest (Vitest is a high-performance testing framework that provides a comprehensive CLI test runner, parallel execution, built-in mocking utilities, and detailed test reporting natively for JavaScript and TypeScript projects), jestjs/jest (Jest is an established JavaScript testing framework that provides an integrated test runner, CLI, parallel execution, mocking, and reporting for comprehensive test automation workflows) and google/googletest (This project is a dedicated C++ testing framework that provides test runners, assertion macros, and a mocking library for automated execution, though it focuses specifically on C++ rather than serving as a general cross-language QA platform). mochajs/mocha and cypress-io/cypress round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Compare open source test automation frameworks for automated test execution, including features, languages, and runner types.

Test automation framework

Find the best repos with AI.We'll search the best matching repositories with AI.
  • vitest-dev/vitestvitest-dev avatar

    vitest-dev/vitest

    15,970View on GitHub↗

    Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an integrated environment that supports unit, integration, and browser-based testing, allowing developers to execute test suites natively without requiring separate build steps or complex configuration. The project distinguishes itself through a highly optimized execution model that leverages worker-thread isolation and on-demand module transformation to provide rapid feedback. It includes a comprehensive suite of mocking and spying utilities that allow for the interception of depen

    Vitest is a high-performance testing framework that provides a comprehensive CLI test runner, parallel execution, built-in mocking utilities, and detailed test reporting natively for JavaScript and TypeScript projects.

    TypeScriptCLI Test RunnersDependency MockingMocking Frameworks
    View on GitHub↗15,970
  • jestjs/jestjestjs avatar

    jestjs/jest

    45,448View on GitHub↗

    Jest is a JavaScript testing framework designed for writing and running automated test suites to verify the correctness of JavaScript and TypeScript code. It functions as a comprehensive toolset that integrates a test runner, a mocking and spying library, a snapshot testing tool, and a code coverage tool. The framework distinguishes itself through snapshot testing, which records the serialized state of data structures to detect regressions in future executions. It also includes a mocking and spying library for simulating external dependencies and tracking function calls to isolate code during

    Jest is an established JavaScript testing framework that provides an integrated test runner, CLI, parallel execution, mocking, and reporting for comprehensive test automation workflows.

    TypeScriptDependency MockingTest ReportersTest Execution Runners
    View on GitHub↗45,448
  • google/googletestgoogle avatar

    google/googletest

    38,713View on GitHub↗

    This project is a comprehensive C++ unit testing framework designed to verify code logic and identify regressions through a suite of assertion macros, test fixtures, and execution runners. It automates the discovery and registration of test cases during static initialization, allowing developers to define isolated test environments that ensure repeatable and predictable conditions for every execution. The framework distinguishes itself through a sophisticated mock object library that enables the simulation of components and the enforcement of strict interaction requirements. By intercepting v

    This project is a dedicated C++ testing framework that provides test runners, assertion macros, and a mocking library for automated execution, though it focuses specifically on C++ rather than serving as a general cross-language QA platform.

    C++Mocking FrameworksTest ReportersTest Runners
    View on GitHub↗38,713
  • mochajs/mochamochajs avatar

    mochajs/mocha

    22,967View on GitHub↗

    Mocha is a JavaScript test runner and framework designed to execute automated test suites across multiple runtimes, including Node.js and web browser environments. It functions as a pluggable testing tool for organizing and validating unit, integration, and functional tests. The project distinguishes itself through a plugin-based extension interface that allows for custom functionality and reporting. It supports a multi-runtime approach, enabling the same test suite to run in different JavaScript environments, and includes a watch mode that monitors the filesystem to trigger automatic test re

    Mocha is a JavaScript test runner and framework that supports automated test execution, parallel runs, and reporting across multiple environments, fitting the testing framework category well despite requiring external libraries for mocking and certain assertions.

    JavaScriptCLI Test RunnersTest ReportersTest Execution Runners
    View on GitHub↗22,967
  • cypress-io/cypresscypress-io avatar

    cypress-io/cypress

    50,113View on GitHub↗

    Cypress is a browser-based testing framework designed for writing and running automated tests directly inside the browser. It serves as an end-to-end testing framework, a frontend component testing tool, and a web application test runner. The project also functions as a headless browser automation tool and a network traffic interceptor. The system differentiates itself by executing test code within the same browser process as the application, allowing for direct access to the DOM. It includes a network traffic interception system to stub and manipulate browser requests, as well as a graphical

    Cypress is a comprehensive browser-based end-to-end and component testing framework featuring a test runner, CLI, parallel execution, and reporting, though it focuses specifically on web applications rather than general software testing.

    TypeScriptCLI Test RunnersTest ReportersTest Suite Runners
    View on GitHub↗50,113
  • karma-runner/karmakarma-runner avatar

    karma-runner/karma

    11,958View on GitHub↗

    Karma is a JavaScript test runner designed for executing test suites across multiple real web browsers to ensure cross-browser compatibility. It functions as a browser-based execution system that launches browsers, captures console output, and provides a command line interface for running automated tests within continuous integration pipelines. The project utilizes a plugin architecture that allows for the integration of third-party launchers, reporters, and preprocessors. It employs an adapter-based framework to execute tests from various assertion libraries through a unified runner interfac

    Karma is a JavaScript test runner designed to execute test suites across real web browsers with command-line and continuous integration support, matching the core automated testing category although it is specifically focused on browser environments rather than a general-purpose backend framework.

    JavaScriptTest ReportersTest Execution RunnersTest Runners
    View on GitHub↗11,958
  • smartystreets/goconveysmartystreets avatar

    smartystreets/goconvey

    8,415View on GitHub↗

    GoConvey is a behavioral testing framework for the Go programming language that provides a test runner, a code coverage tool, and a web-based monitoring dashboard. It integrates with the standard Go test command to organize tests into behavioral stories and conveyors. The project features a web interface that monitors the file system for source code changes and automatically triggers test execution to provide real-time feedback. This dashboard displays test results, failures, and a chronological history of execution status. The framework includes a state assertion system for verifying values

    GoConvey is a behavioral testing framework for Go that includes a CLI test runner, live-reloading web dashboard, and state assertions, fulfilling the core requirements for automated test execution despite lacking built-in mocking or parallel test execution.

    GoCLI Test RunnersTest Reporters
    View on GitHub↗8,415
  • pester/pesterpester avatar

    pester/Pester

    3,262View on GitHub↗

    Pester is a PowerShell testing framework and behavior-driven development tool used to write and run automated tests for scripts and modules. It defines and verifies software behavior through human-readable specifications to validate that code behaves as expected. The project includes a native mocking library that replaces real functions and commands with controlled implementations, allowing for the isolation of code and verification of command invocations without altering the system environment. It also functions as a code coverage tool that measures the percentage of executed lines during te

    Pester is a PowerShell-based testing framework that supports automated test execution, BDD specifications, mocking, and CI pipeline integration, fitting the required testing tool category well although tied to a specific language ecosystem.

    PowerShellDependency MockingCI Pipeline Integrations
    View on GitHub↗3,262
  • jasmine/jasminejasmine avatar

    jasmine/jasmine

    15,824View on GitHub↗

    Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a comprehensive toolset for writing and executing descriptive test suites that verify code behavior in both web browsers and Node.js environments. The framework is distinguished by its integrated mocking library, which allows for dependency isolation through spies and stubs, as well as the ability to simulate time and timing functions to test asynchronous logic synchronously. It also includes a mechanism to enforce test uniqueness, preventing duplicate names for tests and suites. I

    Jasmine is a JavaScript testing framework and test runner that supports behavior-driven development, parallel execution, and built-in mocking for cross-platform environments.

    JavaScriptTest ReportersTest Execution RunnersParallel Test Execution
    View on GitHub↗15,824
  • doctest/doctestdoctest avatar

    doctest/doctest

    6,765View on GitHub↗

    doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation that eliminates complex build dependencies, allowing developers to write and execute test cases directly within their source code. The framework is distinguished by its focus on compile-time performance and binary overhead. It uses conditional compilation guards to strip all testing logic and metadata from production binaries. Additionally, it features hierarchical subcases that re-execute parent setup code to isolate different execution paths within a single test case. Its c

    This repository provides a lightweight C++ unit testing framework for writing and executing test cases directly within source code, making it a good fit for this testing framework search despite being scoped specifically to C++.

    C++Test ReportersTest Execution RunnersTest Logging Utilities
    View on GitHub↗6,765
  • pytest-dev/pytestpytest-dev avatar

    pytest-dev/pytest

    13,645View on GitHub↗

    pytest is a testing framework for Python that provides a command-line runner for discovering and executing test suites. It is built on a modular architecture that uses standard language assertions to verify code correctness, automatically inspecting expressions to provide detailed failure reports without requiring specialized assertion methods. The framework distinguishes itself through a dependency injection system that manages setup and teardown logic by automatically resolving and injecting resources into test functions. It also features a hook-based plugin architecture that allows for dee

    Pytest is a mature Python testing framework that provides a robust command-line runner, detailed failure reporting, and a rich plugin architecture for executing test suites, though it relies on external tools or plugins for parallel execution and mocking features.

    PythonCLI Test RunnersTest Execution RunnersTest Logging Utilities
    View on GitHub↗13,645
  • onsi/ginkgoonsi avatar

    onsi/ginkgo

    9,014View on GitHub↗

    Ginkgo is a behavior-driven development testing framework, assertion library, and test runner for Go. It provides a domain-specific language for writing human-readable specifications, organizing tests into hierarchical containers and subjects to describe system behavior. The project distinguishes itself through advanced execution control and observability, featuring a test runner capable of parallel distribution, sharding, and randomized execution order to detect flaky tests. It includes specialized diagnostic tools for goroutine leak detection, hanging spec monitoring, and failure state debu

    Ginkgo is a behavior-driven Go testing framework and parallel test runner that covers execution reporting and CLI workflows, though it is scoped to a single programming language rather than being a polyglot test framework.

    GoTest ReportersTest Execution RunnersParallel Test Execution
    View on GitHub↗9,014
  • keploy/keploykeploy avatar

    keploy/keploy

    17,622View on GitHub↗

    Keploy is an automated testing platform that leverages kernel-level traffic interception to generate and maintain regression test suites for microservices. By capturing live network traffic and system calls via eBPF, the platform automatically creates deterministic test cases and mocks external dependencies without requiring manual code instrumentation. This approach allows developers to validate application behavior and API contracts by replaying production-like traffic in isolated environments. The platform distinguishes itself through its use of machine learning to perform test maintenance

    Keploy is an automated testing platform that generates and maintains test suites by intercepting network traffic and stubbing dependencies, serving as a specialized tool for API and regression testing within software workflows.

    GoDependency MockingCI/CD Pipeline Integrations
    View on GitHub↗17,622
  • webdriverio/webdriveriowebdriverio avatar

    webdriverio/webdriverio

    9,795View on GitHub↗

    WebDriverIO is a Node.js test automation framework used for automating functional tests across web browsers and mobile applications. It acts as a WebDriver protocol client that manages remote browser sessions and executes commands against WebDriver and Appium servers to perform end-to-end testing. The framework is distinguished by its ability to control both native and hybrid mobile applications and its support for running automated suites across local machines, remote grids, and cloud device providers. It includes specialized capabilities for coordinating multi-browser interactions and estab

    WebDriverIO is a TypeScript-based test automation framework that handles browser and mobile end-to-end testing with parallel execution and reporting capabilities, making it a strong fit for automated testing workflows despite its primary focus on UI rather than general unit testing.

    TypeScriptTest ReportersParallel Test ExecutionTest Suite Runners
    View on GitHub↗9,795
  • thomhurst/tunitthomhurst avatar

    thomhurst/TUnit

    3,744View on GitHub↗

    TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP

    TUnit is a modern C# testing framework and runner that uses source generation for fast test discovery and execution, though it focuses more on code-first unit and integration testing rather than serving as a full standalone QA workflow orchestrator.

    C#CLI Test RunnersHTML Dashboard ReportsMocking Frameworks
    View on GitHub↗3,744
  • mobile-dev-inc/maestromobile-dev-inc avatar

    mobile-dev-inc/Maestro

    10,788View on GitHub↗

    Maestro is a declarative mobile and web UI automation framework designed for end-to-end testing. It operates by querying the native accessibility tree of an application, allowing for black-box testing without requiring source code instrumentation or platform-specific dependencies. The framework distinguishes itself through a unified command syntax that abstracts interactions across Android, iOS, and web environments. It features a dynamic synchronization engine that automatically pauses test execution to account for non-deterministic animations and network-dependent content loading, ensuring

    Maestro is a declarative mobile and web UI automation framework that runs tests and reports results for end-to-end testing, though its focus is specifically on UI automation across Android, iOS, and web rather than general software testing.

    KotlinTest ReportersCI/CD Pipeline IntegrationsTest Execution Runners
    View on GitHub↗10,788
  • robotframework/robotframeworkrobotframework avatar

    robotframework/robotframework

    11,428View on GitHub↗

    Robot Framework is a keyword-driven automation framework designed for acceptance testing and robotic process automation. It utilizes a human-readable, tabular syntax to define test cases and workflows, separating the automation logic from the underlying implementation. By mapping plain-text keywords to executable commands, the framework enables the creation of maintainable and reusable automation sequences. The platform distinguishes itself through a modular architecture that supports the integration of custom libraries and external modules. This extensibility allows users to expand the frame

    Robot Framework is a keyword-driven automated test execution framework that supports custom test libraries, logging, and cross-platform workflows, making it a solid fit despite its specific plain-text tabular syntax approach.

    PythonTest ReportersTest Report Aggregators
    View on GitHub↗11,428
  • microsoft/playwrightmicrosoft avatar

    microsoft/playwright

    91,074View on GitHub↗

    Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test

    Playwright is a comprehensive end-to-end testing and browser automation framework with a built-in test runner, parallel execution, and CI integration, making it a powerful tool for automated test workflows.

    TypeScriptCLI Test RunnersTest ReportersParallel Execution Managers
    View on GitHub↗91,074
  • avajs/avaavajs avatar

    avajs/ava

    20,849View on GitHub↗

    Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability

    AVA is a concurrent test runner and framework for JavaScript and TypeScript that executes tests in parallel across separate processes to speed up runs and isolate state, though it focuses more on unit testing than end-to-end QA workflows.

    JavaScriptParallel Test Execution
    View on GitHub↗20,849
  • confident-ai/deepevalconfident-ai avatar

    confident-ai/deepeval

    13,733View on GitHub↗

    Deepeval is a framework for testing and evaluating large language model applications. It provides a suite of tools for executing automated regression tests, validating model output quality against defined standards, and tracing the execution of complex agent workflows. By integrating these capabilities into development pipelines, the platform ensures consistent performance and reliability throughout the software lifecycle. The platform distinguishes itself through its focus on programmatic validation and observability. It utilizes secondary language models to score output quality and employs

    Deepeval is an evaluation framework built specifically for testing large language model applications with automated regression tests and CI/CD integration, which fits the category well despite its narrow domain focus on AI models rather than general-purpose software testing.

    PythonCI/CD Pipeline Integrations
    View on GitHub↗13,733
  • buildbot/buildbotbuildbot avatar

    buildbot/buildbot

    5,452View on GitHub↗

    Buildbot is a Python-based continuous integration framework and distributed build orchestrator. It functions as a build automation engine that coordinates the retrieval of source code, the execution of build steps, and the reporting of results through a central controller and a network of remote worker agents. The system is distinguished by a plugin-based extensibility architecture and a master-worker distribution model. It allows for dynamic build modification at runtime and supports a pluggable database backend for persisting system state and historical build data. The project covers a bro

    Buildbot is a Python-based continuous integration and build automation framework that coordinates test execution and reports results across distributed worker agents, though it leans more toward general CI orchestration than a dedicated testing framework.

    PythonBuild Pipeline OrchestratorsContinuous IntegrationMaster-Worker Coordination
    View on GitHub↗5,452
  • appium/appiumappium avatar

    appium/appium

    21,647View on GitHub↗

    Appium is a cross-platform automation server that enables user interface testing across mobile, desktop, and web environments. It functions as a unified server architecture that translates automation scripts into platform-specific actions using the W3C WebDriver protocol. The project distinguishes itself through a modular architecture that decouples core server logic from platform-specific implementations. This design allows for the integration of custom drivers and plugins, enabling support for specialized hardware, unique application environments, and non-standard interaction patterns that

    Appium is a cross-platform test automation server that drives UI testing across mobile, desktop, and web environments using WebDriver protocols, fitting the category well despite being more focused on end-to-end UI automation than a general-purpose unit test runner.

    TypeScriptWebDriver-Based Automation ServersCross-Platform Testing SuitesWebDriver Implementations
    View on GitHub↗21,647
  • testng-team/testngtestng-team avatar

    testng-team/testng

    2,053View on GitHub↗

    TestNG testing framework

    TestNG is a Java testing framework that provides test runners, annotations, and parallel execution capabilities, fitting well within the automated test execution category despite lacking some broader QA orchestration features.

    JavaTesting Frameworks
    View on GitHub↗2,053
  • junit-team/junit5J

    junit-team/junit5

    0View on GitHub↗

    JUnit 5 is a foundational developer-focused test execution framework for Java that provides a powerful test engine, CLI support, and extensible reporting capabilities for automated testing workflows.

    Android Libraries
    View on GitHub↗0
  • assaf/zombieassaf avatar

    assaf/zombie

    5,630View on GitHub↗

    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 tog

    Zombie is a headless browser testing framework and test runner that executes DOM-based tests within Node.js, though it is specifically focused on browser simulation rather than a general-purpose test execution framework for all software QA workflows.

    JavaScriptHeadless Browser Testing FrameworksAssertion EnginesBrowser Automation Tools
    View on GitHub↗5,630
  • clean-test/clean-testclean-test avatar

    clean-test/clean-test

    54View on GitHub↗

    A modern C++-20 testing framework.

    Clean-test is a modern C++-20 testing framework that provides a test runner for executing code and reporting results, though it focuses on unit testing rather than a complete CI/CD test orchestration pipeline.

    C++Testing Frameworks
    View on GitHub↗54
  • test-bench/test-benchtest-bench avatar

    test-bench/test-bench

    73View on GitHub↗

    Principled Test Framework for Ruby and MRuby

    Test Bench is a principled test framework for Ruby and MRuby that provides a structured approach to running tests, though it is scoped to a specific language ecosystem rather than being a universal cross-platform testing suite.

    ShellTesting
    View on GitHub↗73
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
vitest-dev/vitest16KTypeScriptmitFeb 19, 2026
jestjs/jest45.4KTypeScriptMITJun 16, 2026
google/googletest38.7KC++BSD-3-ClauseJun 16, 2026
mochajs/mocha23KJavaScriptMITJun 22, 2026
cypress-io/cypress50.1KTypeScriptMITJun 16, 2026
karma-runner/karma12KJavaScriptMITJun 10, 2026
smartystreets/goconvey8.4KGoNOASSERTIONJul 30, 2024
pester/pester3.3KPowerShellotherJan 29, 2026
jasmine/jasmine15.8KJavaScriptMITJun 6, 2026
doctest/doctest6.8KC++MITJun 16, 2026

Related searches

  • a tool for automated software testing
  • Automated testing framework
  • Browser automation sandbox
  • a browser automation framework for cross-browser testing
  • Task runner
  • a library for dynamic test registration
  • Browser automation libraries
  • a tool for AI-generated unit tests