Selenium · Browser automation foundations
What is Selenium and what problems does the suite solve?
Short answer
Selenium is a set of open-source tools for automating browsers. WebDriver drives a real browser through a standard protocol, Grid distributes runs, and teams use it mainly for end-to-end and cross-browser testing.
Selenium is an umbrella project rather than a single framework. WebDriver is the browser automation API, Grid runs sessions across machines and browsers, and Selenium Manager resolves drivers and browser binaries. Language bindings exist for Java, Python, JavaScript, C#, Ruby and Kotlin.
- WebDriver sends commands to a real browser through the W3C WebDriver protocol
- Grid routes sessions to registered browser nodes for scale and cross-browser coverage
- Selenium Manager discovers or downloads a matching driver at runtime
- Selenium IDE records and replays simple flows, mainly for exploration and prototyping
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class SmokeTest {
public static void main(String[] args) {
WebDriver driver = new ChromeDriver();
try {
driver.get("https://example.com");
System.out.println(driver.getTitle());
} finally {
driver.quit();
}
}
}Selenium does not provide a test runner, assertions, API testing, reporting or test data management. Production suites combine it with TestNG or JUnit, an assertion library, an HTTP client such as RestAssured and a reporter such as Allure.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1Which Selenium component actually controls the browser?
- 2What does Selenium not give you out of the box?
- 3Why does Selenium need a separate driver for each browser?
- 4When would you use Grid instead of a local browser?
Say it in the interview
Selenium is a family of tools for automating real browsers. WebDriver is the core API, Grid distributes sessions across machines and browsers, and Selenium Manager handles driver resolution. It is not a complete testing framework, so I pair it with TestNG and an assertion and reporting library. I use it for end-to-end and cross-browser checks, and I keep fast logic tests at the unit or API level.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live Selenium mock interview and get scored feedback on depth, clarity and confidence.