🖥️ Selenium IDE — Beyond Record & Playback

Selenium IDE — Beyond Record & Playback: Selenium IDE is a browser-based prototyping tool for sketching a test flow in rough strokes — analogous to IntelliJ's "Generate" menu pro

Selenium IDE is a browser-based prototyping tool for sketching a test flow in rough strokes — analogous to IntelliJ's "Generate" menu producing getter/setter boilerplate in Java: it automates what you would otherwise write by hand, but you do not ship the output to production as-is. If you can already write Selenium code in Java, why record with the IDE at all? Because when exploring an unfamiliar application or page, you do not yet know which locator will be stable, what the correct navigation order is, or which wait conditions are needed; recording the flow in the browser reveals the IDE's locator suggestions and the action sequence, then you export to Java JUnit format and refactor the result into production-quality code. The same control flow primitives (if/else/while) available in your Java tests also exist inside the IDE's .side format. In a QA team, the real value is as a bridge: a manual tester records a scenario without writing code, exports it, and the automation engineer integrates the export into the real test suite — connecting two skill profiles and eliminating the "why is there no test for this?" conversation.

Selenium IDE is a Chrome/Firefox extension enabling fast prototyping. Using a Command-Target-Value structure, it features advanced control flows and exports code formats like Java, Python, and JavaScript.

1. Selenium IDE Command Structure

2. Control Flow (Conditions & Loops)

Inside the IDE, you can create conditional branches using `if`, `else if`, `else`, `end` commands, and repeating loops with `times`, `while`, and `forEach` without writing a single line of script.

3. Command Line Runner (selenium-side-runner)

Terminal — Runner Setup & Execution

Step by Step: How selenium-side-runner Executes a .side File

The .side file is JSON-based

The `.side` file saved by the IDE is actually JSON — every command, target, and value is stored as plain TEXT in this file.

The runner READS and INTERPRETS the file

When `selenium-side-runner projem.side` runs, the Node.js-based runner TRANSLATES each JSON command into a real WebDriver call, IN ORDER.

-w 4 opens independent THREADS

The `-w 4` flag DISTRIBUTES the test suite's scenarios across 4 independent browser instances — each thread runs in its own ChromeDriver session.