# codeceptjs/codeceptjs

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/codeceptjs-codeceptjs).**

4,225 stars · 752 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/codeceptjs/CodeceptJS
- Homepage: http://codecept.io
- awesome-repositories: https://awesome-repositories.com/repository/codeceptjs-codeceptjs.md

## Description

CodeceptJS is a NodeJS end-to-end testing framework designed for automating acceptance tests across web, mobile, and desktop applications. It serves as a cross-platform test automator and a behavior-driven development tool that maps feature files to step definitions to align technical tests with business requirements.

The project distinguishes itself with AI-powered test maintenance capabilities, using machine learning to automatically identify and repair broken element selectors when user interfaces change. It also features a driver-agnostic abstraction layer that enables the same test suites to run across different browser engines, operating systems, and mobile platforms via Appium.

The framework covers a broad capability surface, including browser and mobile automation, API mocking and testing, and visual regression testing. It implements architectural patterns such as the Page Object Model and dependency injection, while providing observability tools like action-captioned screencasts and automated failure analysis.

The project provides a command-line interface for test scaffolding and interactive debugging.

## Tags

### Testing & Quality Assurance

- [End-to-End Testing Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/end-to-end-testing-suites/end-to-end-testing-frameworks.md) — Provides a comprehensive framework for automating end-to-end user journeys across various web browsers using NodeJS.
- [AI-Driven E2E Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/ai-driven-e2e-testing-tools.md) — Implements an AI-driven end-to-end testing framework capable of self-healing broken selectors.
- [Cross-Platform Testing Suites](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/test-automation-architecture/cross-platform-testing-suites.md) — Executes a single automated test suite across different operating systems, browser engines, and mobile platforms.
- [BDD Specification Mappings](https://awesome-repositories.com/f/testing-quality-assurance/bdd-specification-mappings.md) — Maps human-readable feature files and scenarios to executable automation step definitions. ([source](http://codecept.io/configuration))
- [Behavior-Driven Scenario Definitions](https://awesome-repositories.com/f/testing-quality-assurance/behavior-driven-scenario-definitions.md) — Maps behavior-driven feature files to step definitions to orchestrate high-level user journeys.
- [Page State Assertions](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/assertion-extensions-modes/asynchronous-interaction-utilities/element-state-assertions/page-state-assertions.md) — Provides comprehensive assertions for verifying page content, element attributes, styles, and overall page state. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Puppeteer.md))
- [UI Synchronization Waits](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-execution-controls/asynchronous-test-handling/ui-synchronization-waits.md) — Implements synchronization waits to pause execution until specific UI elements or text appear. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Playwright.md))
- [Mobile Application Testing](https://awesome-repositories.com/f/testing-quality-assurance/mobile-application-testing.md) — Enables executing acceptance tests for native and hybrid mobile applications on Android and iOS via Appium. ([source](http://codecept.io/mobile))
- [UI Self-Healing Tools](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/end-to-end-testing-suites/ui-self-healing-tools.md) — Includes utilities that detect UI selector changes and automatically update test definitions.
- [Adaptive AI Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/browser-automation-testing/adaptive-ai-testing.md) — Uses machine learning to automatically detect and repair broken element selectors when the user interface changes.
- [Headless Browser Controllers](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/browser-and-ui-testing/browser-automation-frameworks/headless-browser-controllers.md) — Controls web applications via the DevTools Protocol to execute tests within headless browser environments. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Puppeteer.md))
- [Cross-Browser Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-infrastructure-configuration/cross-browser-testing-tools.md) — Runs acceptance tests across multiple browser configurations and engines to ensure cross-platform consistency. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Playwright.md))
- [Behavior Driven Development Frameworks](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/test-levels-and-types/behavior-driven-development-frameworks.md) — Maps feature files to step definitions to align technical tests with business requirements.
- [Page Object Models](https://awesome-repositories.com/f/testing-quality-assurance/testing-best-practices-methodologies/test-architecture-patterns/page-object-models.md) — Encapsulates page locators and operations into reusable page objects for better test maintainability. ([source](https://cdn.jsdelivr.net/gh/codeceptjs/codeceptjs@main/README.md))
- [API Simulation and Mocking](https://awesome-repositories.com/f/testing-quality-assurance/api-simulation-and-mocking.md) — Intercepts network traffic and mocks API responses to isolate frontend tests from backend dependencies.
- [Browser State Retrieval](https://awesome-repositories.com/f/testing-quality-assurance/browser-state-retrieval.md) — Retrieves internal browser state including current URLs, page source, and performance timing data. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Playwright.md))
- [Failure Artifact Capturers](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-failure-debugging-tools/failure-verification-tools/failure-artifact-capturers.md) — Automatically saves screenshots, logs, and page source upon test failure to assist in debugging. ([source](http://codecept.io/plugins))
- [Browser Context Isolation](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-isolation/browser-context-isolation.md) — Creates isolated browser environments with separate storage and cookies to test multi-user scenarios. ([source](http://codecept.io/playwright))
- [Browser Page Management](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/browser-ui-interaction/browser-environment-emulation/browser-page-management.md) — Includes tools for creating and managing browser pages and contexts to facilitate navigation testing. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Appium.md))
- [API Request Mocking](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/network-api-mocking/api-request-mocking.md) — Intercepts network requests to simulate server responses and isolate the frontend from backend dependencies. ([source](http://codecept.io/webdriver))
- [Interactive Test Pausing](https://awesome-repositories.com/f/testing-quality-assurance/interactive-test-pausing.md) — Allows pausing test execution to provide an interactive shell for live state inspection and locator verification. ([source](https://cdn.jsdelivr.net/gh/codeceptjs/codeceptjs@main/README.md))
- [Multi-Browser Coordination](https://awesome-repositories.com/f/testing-quality-assurance/multi-browser-coordination.md) — Coordinates simultaneous control over multiple browser contexts or devices using a multiremote pattern.
- [Native Mobile App Automation](https://awesome-repositories.com/f/testing-quality-assurance/native-mobile-app-automation.md) — Automates native and hybrid mobile applications on Android and iOS using Appium.
- [Network Traffic Inspection](https://awesome-repositories.com/f/testing-quality-assurance/network-traffic-inspection.md) — Records and verifies network requests and WebSocket messages during automated testing. ([source](http://codecept.io/web-api))
- [Parallel Test Execution](https://awesome-repositories.com/f/testing-quality-assurance/parallel-test-execution.md) — Distributes test suites across multiple concurrent processes or threads to reduce total execution time. ([source](https://cdn.jsdelivr.net/gh/codeceptjs/codeceptjs@main/README.md))
- [AI-Powered Suggestions](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/diagnostic-toolchains/debugging-and-testing/test-level-debugging/ai-powered-suggestions.md) — Uses generative AI to suggest fixes and identify causes for failing test scripts during debugging. ([source](https://cdn.jsdelivr.net/gh/codeceptjs/codeceptjs@main/README.md))
- [Test Lifecycle Hooks](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/test-orchestration/test-setup-orchestrators/test-lifecycle-hooks.md) — Uses lifecycle hooks and API definitions to automate the creation and cleanup of test entities. ([source](http://codecept.io/))
- [UI Element Locators](https://awesome-repositories.com/f/testing-quality-assurance/ui-element-locators.md) — Locates mobile UI components using accessibility IDs and platform-specific identifier strategies. ([source](http://codecept.io/mobile))
- [Visual Regression Testing](https://awesome-repositories.com/f/testing-quality-assurance/visual-regression-testing.md) — Captures screenshots and records videos to detect unintended UI changes through visual comparison.

### Artificial Intelligence & ML

- [DOM Element Self-Healing](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-automation-frameworks/operational-self-healing/dom-element-self-healing.md) — Implements machine learning to automatically update broken element selectors when the UI structure changes. ([source](http://codecept.io/))
- [Agentic Browser Controllers](https://awesome-repositories.com/f/artificial-intelligence-ml/agentic-browser-controllers.md) — Provides a bridge for AI agents to interact with browser elements in real-time for debugging.
- [AI Agent Integrations](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-agent-integrations.md) — Provides a server interface that allows external AI agents to control tests and debug in real-time. ([source](http://codecept.io/))
- [Browser Control Servers](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-agent-servers/browser-control-servers.md) — Provides servers that allow AI agents to control a web browser for live debugging and navigation. ([source](http://codecept.io/))
- [Autonomous UI Interaction](https://awesome-repositories.com/f/artificial-intelligence-ml/autonomous-ui-interaction.md) — Locates elements and performs actions based on high-level goals using visual and textual cues. ([source](http://codecept.io/))
- [Retriable Step Executions](https://awesome-repositories.com/f/artificial-intelligence-ml/step-based-schedulers/step-execution-engines/retriable-step-executions.md) — Automatically retries specific units of code or steps within a test if they fail. ([source](http://codecept.io/plugins))

### Software Engineering & Architecture

- [Browser Driver Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/browser-driver-abstractions.md) — Implements a driver-agnostic abstraction layer to enable the same tests across different browser engines.
- [Dependency Injection Containers](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-containers.md) — Uses a dependency injection container to resolve page and step objects at runtime.
- [Intent-Based Locators](https://awesome-repositories.com/f/software-engineering-architecture/human-readable-identifiers/intent-based-locators.md) — Prioritizes ARIA roles and semantic text over volatile DOM structures for stable element identification.
- [Container-Based Dependency Injection](https://awesome-repositories.com/f/software-engineering-architecture/object-management-systems/dependency-injection-containers/container-type-resolvers/container-based-dependency-injection.md) — Resolves page objects through a centralized container to support lazy loading and manage circular dependencies. ([source](http://codecept.io/pageobjects))
- [Plugin-Based Extensibility](https://awesome-repositories.com/f/software-engineering-architecture/plugin-based-extensibility.md) — Offers a plugin system to add custom behavioral logic like automatic retries without altering the core.

### Web Development

- [Browser Cookie Automation](https://awesome-repositories.com/f/web-development/cookie-management/browser-cookie-automation.md) — Includes utilities for verifying current URLs and automating the validation of browser cookies during test execution. ([source](http://codecept.io/web-api/))
- [Element Wait Conditions](https://awesome-repositories.com/f/web-development/dom-element-selectors/element-wait-conditions.md) — Pauses test execution until specific elements or text appear on the page to ensure stability. ([source](http://codecept.io/webdriver))
- [UI Component Abstractions](https://awesome-repositories.com/f/web-development/component-based-architectures/component-based-architectures/ui-component-abstractions.md) — Creates standalone fragments for autonomous UI elements like modals to narrow the interaction scope. ([source](http://codecept.io/pageobjects))
- [Electron Application Automation](https://awesome-repositories.com/f/web-development/electron-browser-hosting/electron-application-automation.md) — Automates user interfaces and workflows within desktop applications built on the Electron framework. ([source](http://codecept.io/playwright))
- [Browser Environment Configurations](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-environment-configurations.md) — Offers a unified interface to configure browser types, headless modes, and window sizes. ([source](http://codecept.io/configuration))
- [Keyboard Input Simulations](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-interaction-primitives/keyboard-input-simulations.md) — Simulates real user typing and key combinations into web fields during automated sessions. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Puppeteer.md))
- [Remote Browser Connections](https://awesome-repositories.com/f/web-development/web-automation-scraping/browser-orchestration-systems/remote-browser-connections.md) — Allows connecting to remote browser instances via websocket endpoints for distributed test execution. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Playwright.md))

### Part of an Awesome List

- [Automation File Uploads](https://awesome-repositories.com/f/awesome-lists/devtools/file-upload/automation-file-uploads.md) — Simulates the upload of local files to web input elements or designated drop zones. ([source](http://codecept.io/web-api))
- [Testing and Quality Assurance](https://awesome-repositories.com/f/awesome-lists/devtools/testing-and-quality-assurance.md) — Supercharged end-to-end testing framework.
- [Testing Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/testing-frameworks.md) — E2E testing framework.

### Data & Databases

- [CSS and XPath Query Engines](https://awesome-repositories.com/f/data-databases/content-extraction/xpath-2-0-parsing/css-and-xpath-query-engines.md) — Supports locating UI elements using XPath expressions for complex axis navigation and text matching. ([source](http://codecept.io/locators))

### Development Tools & Productivity

- [Browser-Context Script Executions](https://awesome-repositories.com/f/development-tools-productivity/browser-context-script-executions.md) — Executes custom JavaScript functions directly within the browser context to manipulate pages or extract data. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Puppeteer.md))
- [Keyboard Input Automation](https://awesome-repositories.com/f/development-tools-productivity/input-pointer-automation/keyboard-automation/keyboard-input-automation.md) — Automates keyboard input by pressing specific keys and modifier combinations in the browser. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Playwright.md))

### Game Development

- [Test Path Discovery](https://awesome-repositories.com/f/game-development/autonomous-environment-exploration/application-exploration/test-path-discovery.md) — Deploys autonomous agents to discover application paths and identify uncovered areas for test generation. ([source](http://codecept.io/))

### Graphics & Multimedia

- [CDP Screenshot Captures](https://awesome-repositories.com/f/graphics-multimedia/web-page-screenshot-tools/browser-screenshot-capture/cdp-screenshot-captures.md) — Captures screenshots of full pages or specific elements using the Chrome DevTools Protocol for validation. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Puppeteer.md))

### Networking & Communication

- [Browser Device Emulation](https://awesome-repositories.com/f/networking-communication/browser-device-emulation.md) — Launches browsers in device emulation mode to test appearance and behavior across different hardware profiles. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Playwright.md))
- [Network Request Coordination](https://awesome-repositories.com/f/networking-communication/network-request-coordination.md) — Coordinates network requests by setting headers and waiting for specific responses to complete. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/Puppeteer.md))

### System Administration & Monitoring

- [Test Failure Analysis](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/failure-analysis-tools/automated-root-cause-analysis/test-failure-analysis.md) — Uses automated intelligence to identify the root cause of test failures. ([source](http://codecept.io/plugins))
- [UI Execution Tracing](https://awesome-repositories.com/f/system-administration-monitoring/observability-tracing/step-level-tracing/step-execution-tracing/ui-execution-tracing.md) — Captures detailed HTML, ARIA trees, and console logs for every test step to facilitate debugging. ([source](http://codecept.io/blog/codeceptjs-4/))

### User Interface & Experience

- [ARIA Role Identification](https://awesome-repositories.com/f/user-interface-experience/accessibility-role-mapping/aria-role-identification.md) — Identifies UI elements using ARIA roles and accessible names to increase test resilience. ([source](http://codecept.io/locators))
- [Complex Gesture Simulations](https://awesome-repositories.com/f/user-interface-experience/gesture-interaction-libraries/long-press-gestures/complex-gesture-simulations.md) — Executes complex mobile gestures including swipes, long presses, rotations, and multi-taps. ([source](http://codecept.io/mobile-api))
- [Input Field Manipulations](https://awesome-repositories.com/f/user-interface-experience/input-field-enhancements/input-field-clearing/input-field-automators/input-field-manipulations.md) — Provides low-level operations for filling, clearing, and appending text to input fields and text areas. ([source](https://github.com/codeceptjs/CodeceptJS/blob/master/docs/helpers/WebDriver.md))
