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) withSelect
class - 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:
Actions
class (click, doubleClick, dragAndDrop, contextClick, moveToElement) - Keyboard simulation using
Robot
class
⌛ 5. Waits in Selenium
- Implicit Wait
- Explicit Wait (
WebDriverWait
withExpectedConditions
) - 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
@FindBy
andPageFactory.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
.properties
files - 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