A deprecated testing framework for Electron applications using ChromeDriver and WebdriverIO.
Spectron was a testing framework specifically designed for Electron applications. It allowed developers to write automated tests that could launch, control, and inspect their Electron apps by combining ChromeDriver for browser automation and WebdriverIO for the test API. It solved the problem of testing the unique desktop application environment that Electron provides, which includes multiple processes (main and renderer).
Electron application developers and QA engineers who need to write automated integration and end-to-end tests for their desktop apps.
Developers chose Spectron because it was the official, Electron-specific testing solution that provided deep integration with Electron's APIs (like accessing the main process, browser windows, and clipboard) alongside standard WebDriver-based UI automation, all in one package.
DEPRECATED: 🔎 Test Electron apps using ChromeDriver
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides direct access to Electron's main process, renderer process, browser windows, and web contents via properties like electron and browserWindow, enabling tests of desktop-specific features beyond UI automation.
Integrates Google's Accessibility Developer Tools with the client.auditAccessibility() method, allowing automated accessibility checks within test suites without external tools.
Includes ready-to-use configuration examples for Travis CI and AppVeyor, simplifying setup for continuous integration testing across Linux, macOS, and Windows environments.
Leverages WebdriverIO's standard browser object for UI interaction, making it approachable for developers experienced with web automation testing frameworks.
Marked as deprecated since February 2022, meaning no new updates, bug fixes, or official support, which poses long-term maintenance and security risks for projects.
Requires strict version matching between Spectron and Electron per the provided table, complicating upgrades and limiting use with newer Electron releases not covered.
Has known issues with remote-debugging-port and custom userData paths, forcing developers to implement code changes or configuration tweaks, as noted in the Limitations section.