selenium learning plan
๐งช 1. Java Basics for Selenium
- Variables, Data Types
- Loops (
for,while,do-while) - Conditional Statements (
if,switch) - Arrays and Strings
- Functions/Methods
- Exception Handling (
try-catch,throw,throws) - OOP Concepts (Class, Object, Inheritance, Polymorphism, Abstraction, Encapsulation)
- Collections (
List,Set,Map)
๐ 2. Selenium WebDriver
- What is Selenium?
- Architecture of Selenium WebDriver
- Selenium Components (IDE, RC, WebDriver, Grid)
- Installing WebDriver (ChromeDriver, GeckoDriver, etc.)
- Launching browsers using WebDriver
- Browser Commands:
get(),getTitle(),getCurrentUrl(),close(),quit() - Navigation Commands:
navigate().to(),navigate().back(),refresh() - WebElement Commands:
click(),sendKeys(),clear(),getText(),getAttribute() - Finding Elements:
findElement,findElements- Locators: ID, Name, ClassName, TagName, LinkText, PartialLinkText, XPath, CSS Selector
๐งญ 3. XPath and CSS Selector
- Absolute vs Relative XPath
text(),contains(),starts-with(),following,preceding,ancestor,child,descendant- CSS Selector: tag#id, tag.class,
tag[attr=value]
๐งฐ 4. Handling UI Elements
- Drop-downs (
<select>tag) withSelectclass - Checkboxes and Radio Buttons
- Alerts:
accept(),dismiss(),getText(),sendKeys() - Frames and iFrames:
switchTo().frame(),defaultContent() - Windows Handling:
getWindowHandle(),getWindowHandles(),switchTo().window() - Mouse and Keyboard Actions:
Actionsclass (click, doubleClick, dragAndDrop, contextClick, moveToElement) - Keyboard simulation using
Robotclass
⌛ 5. Waits in Selenium
- Implicit Wait
- Explicit Wait (
WebDriverWaitwithExpectedConditions) - Fluent Wait
๐ 6. TestNG Framework
- Why TestNG?
- Installing and setting up TestNG
@Test,@BeforeMethod,@AfterMethod,@BeforeClass,@AfterClass- Assertions (HardAssert vs SoftAssert)
- Priority and Dependencies
- Groups, Parameterization
- DataProvider
- TestNG XML and parallel execution
- Suite, test, classes, methods structure
๐ 7. Page Object Model (POM)
- Why POM?
- Page Classes and Test Classes
- Reusability and Maintainability
- Using
@FindByandPageFactory.initElements()
๐ 8. Framework Design
- Types: Keyword Driven, Data Driven, Hybrid
- Creating Base Class, Utility Classes
- Reading data from Excel using Apache POI
- Logging with Log4j
- Reporting with Extent Reports or Allure
- Folder Structure
๐งช 9. Automation Tools Integration
- Maven: Project build tool (
pom.xml, dependencies) - Git/GitHub: Version control
- Jenkins: CI/CD for automation
- Extent Reports/Allure: Test reporting
๐ค 10. Data Handling
- Reading from Excel (Apache POI)
- Reading from
.propertiesfiles - JSON and XML parsing (if applicable)
๐ฑ 11. Mobile Automation (Optional - Appium)
- What is Appium?
- Android Studio and emulator setup
- Writing test scripts for mobile apps
- Real vs Emulator testing
๐ 12. Selenium Grid (Optional)
- Grid Architecture
- Hub and Node Configuration
- Running tests in parallel on multiple browsers/devices
Comments
Post a Comment