Selenium Introduction
Selenium is a free tool that controls web browsers through code. It opens a browser, clicks buttons, fills forms, and reads text automatically. Testers use it to check if a website works correctly without clicking through pages by hand.
Think of Selenium as a robot hand for your browser. You write instructions, and the robot hand clicks, types, and scrolls exactly as a real user would.
Diagram: How Selenium Talks To A Browser
Your Test Script
|
v
Selenium WebDriver (the translator)
|
v
Browser Driver (chromedriver, geckodriver)
|
v
Real Browser (Chrome, Firefox, Edge)
|
v
Website Under Test
Your script sends a command. WebDriver converts that command into a browser instruction. The browser performs the action on the actual website.
Why Companies Use Selenium
Manual testing takes hours for large websites. A tester clicks the same login form fifty times across different browsers. Selenium runs the same steps in seconds and repeats them every night without complaint.
Core Benefits
- Selenium supports many programming languages, including Java, Python, and C#.
- Selenium works across Chrome, Firefox, Edge, and Safari.
- Selenium runs on Windows, macOS, and Linux.
- Selenium connects with tools like TestNG and Jenkins for full automation pipelines.
What Selenium Cannot Do
Selenium only automates web browsers. It cannot test desktop applications or mobile apps directly. It cannot generate test reports on its own; other tools handle that job. Selenium also skips visual checks like font color unless paired with extra libraries.
Selenium Components
Selenium WebDriver
WebDriver sends commands straight to the browser. Most modern automation projects use this component.
Selenium IDE
Selenium IDE is a browser extension that records your clicks and turns them into a script. Beginners use it to learn the flow before writing code by hand.
Selenium Grid
Selenium Grid runs tests on multiple machines and browsers at the same time. A company can test a login page on ten browser versions in parallel instead of one after another.
A Simple Real-World Example
Imagine an online bookstore releases a new checkout page every week. A QA engineer writes one Selenium script that opens the site, adds a book to the cart, enters payment details, and confirms the order. That single script runs after every code change and catches broken buttons before customers see them.
