Selenium IDE is the record-and-playback member of the Selenium family. You click through your application while it records each step as a command, then replay those steps, add assertions and export them as code. It needs no programming, so it's the quickest way to automate a bug reproduction or a short smoke check, and a gentle first step before Selenium WebDriver.
What Selenium IDE Is (and Isn't)
- It is a recorder and runner for browser tests, with assertions, variables, simple control flow and export to code.
- It isn't a framework. There's no page object model, limited data handling and no real reporting, so large regression suites belong in WebDriver.
Get the current version from the official page at selenium.dev/selenium-ide, which links to the right download for your browser or operating system.
Record Your First Test
- Open Selenium IDE and choose Record a new test in a new project.
- Name the project and enter the base URL of the site, for example
https://www.saucedemo.com. - A browser window opens and recording starts. Log in, add an item to the cart and open the cart.
- Right-click the cart badge and choose Selenium IDE → Assert → Text to add a check that it shows
1. - Stop recording, name the test, and click Run current test. Passed steps turn green; a failed step turns red with the reason.
Commands You'll Use Most
Each recorded step has a command, a target (usually a locator) and an optional value:
| Command | Target | Value | What it does |
|---|---|---|---|
open | / | Opens a path relative to the base URL | |
click | id=login-button | Clicks an element | |
type | id=user-name | standard_user | Types text into a field |
select | css=select.sort | label=Price (low to high) | Chooses a dropdown option |
assert text | css=.cart-badge | 1 | Checks text; stops the test if wrong |
verify text | css=.title | Products | Checks text; logs failure but continues |
wait for element visible | css=.inventory_list | 5000 | Waits up to 5 s for an element |
store text | css=.total | orderTotal | Saves text into a variable, used later as ${orderTotal} |
Assert vs verify
assert stops the test on failure, because later steps make no sense without it (for example, login failed). verify records the failure and carries on, which is useful for checking several labels on one page in a single run.
Locators and Fallbacks
When IDE records a click, it stores the locator it thinks is best and keeps a list of alternatives (id, name, CSS, XPath, link text). If a recorded locator is fragile, such as a long XPath or an auto-generated id, open the target dropdown and pick a better one, or type your own CSS selector. The same rules as in WebDriver apply: prefer stable ids and readable CSS. See Locators in Selenium for the full guide.
Control Flow, Loops and Reuse
Selenium IDE supports if / else if / else / end, times, while and do / repeat if, plus run to call another test, such as a shared login test, from inside a test. These help with small variations, but if a test needs real logic or data from files, it's time to move it to WebDriver.
Run Tests from the Command Line
Saved projects are .side files. The command-line runner plays them without opening the IDE, which lets you run them in CI:
npm install -g selenium-side-runner
selenium-side-runner my-project.side
The runner needs the browser driver for your browser, and it can run tests in parallel and against different base URLs.
Export to Code
Right-click a test or suite and choose Export to generate code for Java (JUnit), Python (pytest), C# (NUnit or xUnit), JavaScript (Mocha) or Ruby (RSpec). Treat the export as a starting point: it produces one long method with raw locators and no page objects, so refactor it into your framework's structure before adding it to a suite.
Selenium IDE vs Selenium WebDriver
| Selenium IDE | Selenium WebDriver | |
|---|---|---|
| Coding needed | No | Yes (Java, Python, C#, JavaScript, Ruby) |
| Set-up time | Minutes | Hours for a proper framework |
| Data-driven tests | Limited | Full (Excel, JSON, databases, DataProviders) |
| Maintainability at scale | Poor | Good with page objects |
| Best for | Bug reproductions, demos, quick smoke checks, learning | Regression suites, CI, cross-browser and parallel runs |
A common, sensible path: record a flow in IDE to understand it and capture locators, then build the real test in WebDriver.
FAQs
Is Selenium IDE free?
Yes. Like the rest of Selenium it is open source and free for personal and commercial use.
Does Selenium IDE need programming knowledge?
No. You record and edit steps in the interface. Basic knowledge of CSS selectors helps you fix fragile locators, and you need programming once you move to WebDriver.
Can Selenium IDE tests run in Jenkins?
Yes. Install selenium-side-runner on the agent and run your .side file from a pipeline step, with a browser and driver available on that machine.
Should I use Selenium IDE for a whole regression suite?
No. It's fine for small, stable checks, but large suites need page objects, data handling, reporting and code review, which WebDriver provides.