# Selenium WebDriver Course | Leaners At TestLeaf

**URL:** <https://onehack.st/t/selenium-webdriver-course-leaners-at-testleaf/289011>\
**Category:** Tutorials & Methods\
**Tags:** learning, programming, freebies\
**Created:** [August 14, 2024, 8:35pm UTC](https://onehack.st/t/selenium-webdriver-course-leaners-at-testleaf/289011 "2024-08-14T20:35:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Prometheus](https://onehack.st/user_avatar/onehack.st/prometheus/32/34950_2.png) [@Prometheus](https://onehack.st/u/Prometheus)\
**Post date:** [August 14, 2024, 8:35pm UTC](https://onehack.st/t/selenium-webdriver-course-leaners-at-testleaf/289011/1 "2024-08-14T20:35:23Z")

</div>

![selenium-webdriver-logo-1](https://onehack.st/uploads/default/original/3X/b/a/ba190f162c38ade3abfa0852bdb61b5079c1c6b3.png)

# Selenium WebDriver Course

This is public repository for Selenium Learners at TestLeaf.

# Week1 - Core Java Basics

- How Java works?
- Introduction to Class, Members of Class - Methods, Variables
- Get started with Primitive Data Types
- Declaration and assignment variables
- Operators (Arithmetic and Comparison)
- Anatomy of if, if-else statements
- Anatomy of loops - for, foreach, while, do while
- Introduction to String class and its methods
- Get started with Arrays
- Solving basic String and Array Problems

# Week 2 - Get Started with Selenium WebDriver

- How Selenium Works Internally?
- Basic code to launch browser, load URL, Set timeouts and Maximize browser
- 8 old locators and its strategy of when to use and when not to use
- Browser Methods like get, findElement(s), close, manage, getTitle etc
- WebElement Methods like clear, sendKeys, click, getText, getAttibute etc
- Exceptions - NoSuchElement, StaleElementReference etc
- How to handle dropdowns, checkbox, radiobutton, web table / calendar etc?
- XPath build syntax and patters - Absolute, Relative (Attribute, Text) with Exact and Partial matches
- XPath Patterns - Axes, Collection based indices, Functions
- Implicit and Explicit Waits
- Webdriver Snapshot methods for visible area and webelement - Base64 and File
- Assignments Review

# Week 3 - Java OOPS, Collection and WebDriverWait

- Java OOPS pillars
- Abstraction - Java Concept, Real time example and Selenium Implementation
- Inheritance, Polymorphism, Encapsulation
- WebDriverWait, Expectedconditions, TimeOutExceptions
- RedBus automation example with Disable Notification, Click Intercepted Exception
- Java Collection - List, Set, Map
- Problem Solving - Duplicate values in array, Unique characters in String, Count of characters and Two Sum
- Assignment Review

# Week 4 - Target Locators and Actions

- SwitchTo - RemoteTargetLocator
- Alert - accept, dismiss, getText, sendKeys, Exceptions
- Frame - method overloading (int,String, WebElement), Exception
- DefaultContent, ParentFrame - Switch back from frame
- Window - getWindowHandles, getWindowHandle, Exception
- Switch to Window Options - Set to List, Iterator
- close vs quit
- ActiveElement & New Window feature in Selenium 4.0
- Actions class methods - dragAndDrop, dragAndDropBy, moveToElement, pause, perform
- Other Actions class - clickAndHold, keyDown, release
- Exception Handling - try/catch, throw, throws, finally
- End to End testcase for retail website

# Week 5 - TestNg (Test Runner Framework)

- TestNg Basics
- Annotations and its hierarchy
- TestNg XML design
- @Test Annotation and its attributes
- Dependency Injection
- Test Report using TestNg
- Parameterization - @Parameter and @DataProvider
- Read Excel using Apache POI Java API
- Integrate excel data automation with TestNg (Apache POI + Data Provider)
- Build OOPS concepts into TestNg implementation
- Convert existing plain testcases to TestNg implementation
- Run sequential, parallel - with logs and reports
- Listeners - ISuite, ITest and Retry Implementations

# Week 6 - Cucumber Basics to Advanced (BDD Framework)

- Cucumber and BDD, TDD Basics
- Create Feature File with simple scenario
- Cucumber - Gherkin Keywords
- Integration with Step Definitions
- Scenario Outline with Examples and with Background
- CucumberOptions - Glue, MonoChrome, Report, Hooks
- Create Runner File with TestNG
- Cucumber Hooks and Java OOPS integration
- Convert existing TestNg testcases to BDD implemntation
- Run Feature files from TestNg XML

# Week 7 - Pattern Object Model Design Pattern and Framework

- Page Object Model design rules
- Pattern Object model - Page Inheritance
- Build Page Classes (without Page Factory)
- Build DataProvider utility classes
- Build the testcases as runner classes
- Design the TestNg XML with verbose
- Debug and execute the testcases for different data

# Week 8 - Hybrid framework with Thread-Local

- ThreadLocal Implementation for Driver, Reports

**[Follow The Repo for learning!](https://github.com/TestLeafInc/TestLeafSeleniumTraining)**

**Happy learning!**

> Thanks to Chief @Aina for assigning this topic to me!

---

<div class="post-metadata">

**Author:** ![Funny\_Boss](https://onehack.st/user_avatar/onehack.st/funny_boss/32/39352_2.png) [@Funny\_Boss](https://onehack.st/u/Funny_Boss)\
**Post date:** [August 15, 2024, 3:15am UTC](https://onehack.st/t/selenium-webdriver-course-leaners-at-testleaf/289011/2 "2024-08-15T03:15:17Z")

</div>

Thanks for the share. I see only the code in github. Any videos?
