Arpit Choubey — SDET | QA | Automation Engineer 🔗 LinkedIn | Medium
If this repository helps you, please Star 🌟 it!
This repository contains comprehensive Selenium WebDriver examples, covering almost every important concept required for Web Automation Testing. Each Java class demonstrates a specific topic, making it easy to practice, revise, and build real-time Selenium automation skills.
This repository is suitable for:
- Beginners learning Selenium from scratch
- QA Engineers revising for interviews
- Test Automation learners building frameworks
The repository includes working examples of:
- Launching browsers
- Multiple window handling
- Window switching
- Headless browser execution
- Clicking, sending text, retrieving text
- Element attributes
- Handling stale elements
- Relative locators
- Mouse hover
- Drag and drop
- Keyboard operations
- Selecting values with
Select - Dynamic table handling
- Fetching row/column values
- JavaScript alerts
- Modal dialogs
- Authentication pop-ups
- Implicit, Explicit, and Fluent waits
- Handling synchronization issues
- File upload automation
- Screenshot handling
- Forward, Back, Refresh
- URL navigation techniques
The repository is structured for easy navigation of concepts.
Selenium-Webdriver/
├── src/
│ └── main/
│ └── java/
│ └── SeleniumSess/
│ ├── AbcTest.java
│ ├── AlertJSPop.java
│ ├── BrowserMultipleWindow.java
│ ├── BrowserWindowHandle.java
│ ├── DropDown.java
│ ├── ElementAttributeConcept.java
│ ├── ElementUtil.java
│ ├── FileUpload.java
│ ├── FooterSection.java
│ ├── GetTextForText.java
│ ├── GoogleLang.java
│ ├── HeadlessBrowser.java
│ ├── LocatorConcept.java
│ ├── Navigation.java
│ ├── RegPage.java
│ ├── RelativeLocator.java
│ ├── SeleniumBasic.java
│ ├── SeleniumUtil.java
│ ├── StaleElementRefExceptionConcept.java
│ ├── TotalLinks.java
│ ├── WaitsInSel.java
│ └── WebDriverMethods.java
│
├── .settings/
├── .classpath
├── .project
└── README.md
- Import the project into Eclipse or IntelliJ.
- Ensure that WebDriver binaries (ChromeDriver, GeckoDriver etc.) are set up.
- Open any class from
SeleniumSesspackage. - Run the program as a Java Application.
- Covers ALL major Selenium concepts
- Easy to navigate and understand
- Great reference for QA interviews
- Helps build automation framework foundations
- Update driver executable paths as per your system.
- Use the latest Selenium and browser driver versions.