{"id":20038323,"url":"https://github.com/testleafinc/seleniumjuly2022","last_synced_at":"2025-05-05T06:32:11.133Z","repository":{"id":46044819,"uuid":"515037804","full_name":"TestLeafInc/SeleniumJuly2022","owner":"TestLeafInc","description":"This is public git repo for the learners for Selenium July 2022","archived":false,"fork":false,"pushed_at":"2022-09-08T06:03:56.000Z","size":166,"stargazers_count":1,"open_issues_count":1,"forks_count":21,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-08T18:51:25.261Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TestLeafInc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-18T04:46:17.000Z","updated_at":"2022-08-26T08:30:32.000Z","dependencies_parsed_at":"2023-01-18T00:45:23.641Z","dependency_job_id":null,"html_url":"https://github.com/TestLeafInc/SeleniumJuly2022","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestLeafInc%2FSeleniumJuly2022","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestLeafInc%2FSeleniumJuly2022/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestLeafInc%2FSeleniumJuly2022/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TestLeafInc%2FSeleniumJuly2022/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TestLeafInc","download_url":"https://codeload.github.com/TestLeafInc/SeleniumJuly2022/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252451718,"owners_count":21749971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T10:27:47.819Z","updated_at":"2025-05-05T06:32:10.787Z","avatar_url":"https://github.com/TestLeafInc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Selenium WebDriver Course\nThis is public repository for Selenium July 2022 Learners at TestLeaf.\n\n# Week1 - Core Java Basics \n* How Java works?\n* Introduction to Class, Members of Class - Methods, Variables\n* Get started with Primitive Data Types\n* Declaration and assignment variables\n* Operators (Arithmetic and Comparison)\n* Anatomy of if, if-else statements\n* Anatomy of loops - for\n* Get started with Arrays\n* Introduction to String class and its methods\n* Solving basic String and Array Problems\n\n# Week 2 - Get Started with Selenium WebDriver\n* How Selenium Works Internally?\n* Basic code to launch browser, load URL, Set timeouts and Maximize browser\n* 8 old locators and its strategy of when to use and when not to use\n* Browser Methods like get, findElement(s), close, manage, getTitle etc\n* WebElement Methods like clear, sendKeys, click, getText, getAttibute etc\n* Exceptions - NoSuchElement etc\n* How to handle dropdowns, checkbox, radiobutton, web table / calendar etc?\n* XPath build syntax and patters - Absolute, Relative (Attribute, Text) with Exact and Partial matches\n* XPath Patterns - Axes, Collection based indices\n* Implicit and Thread.sleep\n* Webdriver Snapshot methods for visible area and webelement - Base64 and File\n* Assignments Review\n\n# Week 3 - Java OOPs, Collection\n* Java OOPS pillars \n* Abstraction - Java Concept, Real time example and Selenium Implementation\n* Inheritance, Polymorphism, Encapsulation \n* Java Collection - List, Set, Map\n* Problem Solving - Duplicate values in array, Unique characters in String, Count of characters and Two Sum\n* Assignment Review\n\n# Week 4 - Target Locators and Actions\n* SwitchTo - TargetLocator\n* Alert - accept, dismiss, getText, sendKeys, Exceptions\n* Frame - method overloading (int,String, WebElement), Exception\n* DefaultContent - Switch back from frame\n* Window - getWindowHandles, getWindowHandle, Exception\n* Switch to Window Options - Set to List\n* close vs quit\n* Actions class methods - dragAndDrop, dragAndDropBy, moveToElement, perform\n* WebDriverWait, Expectedconditions, TimeOutExceptions\n* Other Actions class - clickAndHold, keyDown, release\n* Exception Handling - try/catch, throw, throws, finally\n\n# Week 5 - Interview Prep Activities\n\n\n# Week 6 - TestNG (Test Runner Framework)\n* TestNG Basics\n* Annotations and its hierarchy\n* TestNg XML design\n* Convert existing plain testcases to TestNg implementation\n* @Test Annotation and its attributes\n* Dependency Injection\n* Test Report using TestNg\n* Parameterization - @Parameter and @DataProvider\n* Read Excel using Apache POI Java API\n* Integrate excel data automation with TestNg (Apache POI + Data Provider)\n* Build OOPS concepts into TestNg implementation \n* Run sequential, parallel - with logs and reports\n* Listeners - ITest and Retry Implementations\n\n# Week 7 - Cucumber Basics to Advanced (BDD Framework)\n* Cucumber and BDD, TDD Basics\n* Create Feature File with simple scenario\n* Cucumber - Gherkin Keywords\n* Integration with Step Definitions\n* Scenario Outline with Examples and with Background\n* CucumberOptions - Glue, Features, Publish, Hooks\n* Create Runner File with TestNG\n* Cucumber Hooks and Java OOPS integration\n* Convert existing TestNg testcases to BDD implemntation\n* Run Feature files from TestNg XML\n* Organized the code base as pages\n\n# Week 8 - Pattern Object Model Design Pattern and Framework\n* Page Object Model design rules\n* Pattern Object model - Page Inheritance\n* Build Page Classes (without Page Factory)\n* Build DataProvider utility classes\n* Build the testcases as runner classes\n* Design the TestNg XML with verbose\n* Debug and execute the testcases for different data \n* ThreadLocal Implementation for Driver, Reports\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestleafinc%2Fseleniumjuly2022","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftestleafinc%2Fseleniumjuly2022","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftestleafinc%2Fseleniumjuly2022/lists"}