🎯
Locators and when to choose each
Foundation
ID, name, className, tagName, linkText, partialLinkText, CSS selector and XPath. When to prefer CSS over XPath, when to use relative XPath over absolute, and how to pick stable, unique locators on complex pages.
⏱️
Implicit, explicit and fluent waits
Reliability
How each wait type works, when to use which, why mixing implicit and explicit waits causes unpredictable delays, and how to write condition-based waits that are stable across environments.
🪟
Alerts, frames, windows and dropdowns
Interaction
SwitchTo for alerts and frames, window handles for tabs, Select class for dropdowns, and actions class for hover and drag-and-drop. Expect at least one question about iframes or window switching.
🏗️
Framework design: Page Object Model, data-driven
Architecture
POM structure, base classes, factory pattern, data-driven testing with Excel or CSV, and how to keep tests maintainable when the UI changes. Interviewers want to see that you've built frameworks, not just scripts.
⚙️
TestNG or JUnit/pytest, reporting and CI
Tools
TestNG annotations and suites, parameterisation with DataProvider, assertion libraries, reporting with ExtentReports or Allure, and running Selenium suites in Jenkins, GitHub Actions or GitLab CI. Selenium Grid for parallel execution and reducing total run time.