Selenium IDE is an open source record and playback test automation tool for web applications, distributed as an Electron application written in TypeScript. The project enables users to record interactions with web pages and then play back those interactions as automated test scripts, eliminating the need to manually write test code from scratch. The tool is available through multiple installation methods including prepackaged binaries from GitHub releases, npm installation, or manual building from source using Git, NodeJS v16, and Pnpm.
The codebase is organized as a monorepo containing several specialized packages that work together to provide the complete Selenium IDE experience. The main selenium-ide package serves as the core Electron application with a React frontend that communicates via IPC protocols. The side-runner package provides a NodeJS task runner for executing tests, while side-runtime acts as a playback system wrapper that takes .side files and executes them. Additional packages include side-cli for experimental command-line interface functionality, side-api for sharing API types with plugins, side-model for providing metadata about standard commands and argument types, side-commons for shared utilities across packages, and side-code-export for transpiling .side files into other programming languages including C#, Java, JavaScript, Python, and Ruby.
According to GitGenius activity tracking, the repository shows median issue and pull request response latency of 93.6 hours across 94 tracked items, with the most active contributor being toddtarsi with 135 recorded events. Enhancement requests and top priority items represent the most frequently labeled issues, while reproducer required tags indicate ongoing quality assurance efforts. The project maintains overlapping contributors with major repositories including microsoft/vscode, microsoft/typescript, and rust-lang/rust, suggesting cross-pollination of development practices and expertise.
The development workflow supports rapid iteration through watch mode rebuilding and includes integrated debugging capabilities via React Developer Tools and Chrome DevTools accessible at localhost:8315. Contributors can activate inline devtools using keyboard shortcuts and VSCode provides a configured workspace structure with source map support for breakpoints across the main process. The project documentation acknowledges several areas for future development, including improved selector accuracy through ranking and optimization of selector correctness, intelligent editing features, and expanded language export capabilities for generated Selenium code.
The tool addresses a specific need in test automation by lowering the barrier to entry for users who may not be comfortable writing test code directly. By combining record and playback functionality with the ability to export to multiple programming languages, Selenium IDE bridges the gap between manual testing and fully programmatic test automation. The monorepo architecture allows different components to be maintained and evolved independently while sharing common types and utilities, supporting both the graphical IDE experience and headless test execution scenarios through the side-runner package.