SeleniumHQ/selenium-ide

Open Source record and playback test automation for the web.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 44 minutes ago
Added to GitGenius on April 8th, 2021
Created on August 8th, 2017
Open Issues & Pull Requests: 454 (+0)
Number of forks: 830
Total Stargazers: 3,109 (+0)
Total Subscribers: 161 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.4 days
Mean response time: 420.5 days
90th percentile: 1917.5 days
Tracked items: 88

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 54% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 194
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,087 days
Stale 30+ days: 193
Stale 90+ days: 192

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (18)
  • confirmed (8)
  • needs-triaging (6)
  • I-defect (5)
  • reproducer required (5)
  • top priority (4)
  • blocked native (3)
  • good first issue (3)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

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.

Enhancement requests and top priority items represent the most frequently labeled issues, while reproducer required tags indicate ongoing quality assurance efforts.

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.