Selenium Tutorial
Selenium-Java Tutorial - Basic to Advance
Video tutorials –
Selenium with Java video tutorial
Basics
- Introduction to selenium
- Setup Java & Maven for both windows & Mac OS
- Create maven project in Eclipse / intelliJ ide
- Add dependencies & plugins to pom.xml
- First selenium test using Maven & testNG in Java
- Selenium Locator strategies – how to identify browser elements
- Selectorhub – browser extension for xpath & css selector
- XPATH/CSS selector patterns
- XPATH / CSS Multiple expressions – and, or
- XPATH / CSS – contains, starts-with, ends-with attributes
- Verify Xpath or CSS queries on chrome browser
- Why webdriver driver = new firefoxdriver()
-
[Selenium exceptions when it occurs & how to handle](https://qavalidation.com/2015/06/selenium-exceptions-when-it-occurs-how-to-handle.html/)
Run on different browsers
Run selenium tests on firefox browser using geckodriver
Configure Safari browser to run selenium tests
Run selenium tests across multiple browsers in parallel
Handling WebElements
- TextBoxes
- Buttons
- ListBoxes
- RadioButtons
- CheckBoxes
- DropDown
- Iframes
- Web Tables
- Handling alerts
- Handling multiple windows in selenium
TestNG
File Read/Write
Excel read and write operations
- Using Jxl library
- Using Apache POI library Apache POI 3.x
-
Read / write excel data based on column header using java poi 4.x – Apache POI 4.x
- Read and write operations with text file
- Read and write in .properties file
Advanced
- Soft & hard assert & use it in selenium
- Difference – driver.get() and drover.navigate()
- RightClick in selenium
- Drag and drop
- Selenium waits – Implicit vs explicit wait
- Check broken links in selenium
- Firefox profile and setting preferences
- Introducing FirefoxOptions for selenium 3.x
- Taking ScreenShots in failed scenarios
- Get CSS values of a webelement
- Resize or Reposition browser windows
- Open URL in new tab
- Desired capabilities
- Selenium with ANT build
- Selenium Grid
- Integrate Sikuli with Selenium WebDriver
- Check if element is clickable
- Sending parameters from maven command line to run tests
- Find broken links using selenium
Demo sites
Selenium Reporting
- Extent report – selenium HTML reporting
- Combine TestNGListener with log4j for selenium result reporting
- Selenium html reporting – Extent with testNG – Part1
- Selenium html reporting – Extent with testNG Listeners – Part 2
Testing Angular JS application
- Testing AngularJS sites with selenium
- ngWebDriver – a way to automate angular apps in selenium using java
Troubleshooting
- Selenium with chrome – chrome is being controlled by automated software
- Chrome error in selenium – Microsoft wants to reset your settings
- Disable chrome save password dialog using selenium
- Execute xpath or css on firefox browser
- Execute XPATH or CSS in chrome browser
Misc
- Check if element is clickable using selenium
- Difference between WebDriver and FirefoxDriver
- Open URL in new tab
- why webdriver driver = new firefoxdriver()
- Selenium 3.0 initial releases
- Selenium framework standards
- Execute JavaScript in selenium
Selenium 4 new features
Selenium 4 – minimize window, handling new tab / new window
Selenium 4 – supports browser element[s] or full page screenshot
Selenium 4 – getRect() for element size & position
Selenium 4 – emulate geoLocation & timeZone
Selenium 4 – emulate network conditions & intercept network resources