• What is Automation Testing - Advantages & Types of Tools
  • What is Selenium IDE, Selenium RC, Selenium WebDriver, Selenium Grid?
  • Selenium IDE, Firebug & Firepath Installation


  • Selenium WebDriver Architecture
  • Selenium Installation
  • Challenges and Limitations of Selenium
  • First Selenium WebDriver Script
  • Working with Firefox Browser
  • Solution - Failed To Launch Browser Using Selenium WebDriver
  • Working with Chrome Browser
  • Working with IE Browser
  • Difference Between FindElement & FindElements
  • Install Firebug, Fire path and other add on for Selenium
  • Locators in Selenium
  • Dynamic Xpath
  • Dynamic CSS
  • Handle drop-downs
  • How to work with file upload
  • Handle Alerts & Popups
  • Handle Multiple Windows
  • Mouse Hover event in Selenium
  • Right Click
  • Double Click
  • Drag and Drop
  • Capture Screenshots in Selenium
  • Parameterization
  • Synchronization
  • Implicit Wait, Explicit Wait and Fluent Wait in Selenium
  • Implicit Waits
  • Explicit WebDriver Waits
  • Fluent Wait In Selenium
  • Apache POI
  • How To Read Data From Excel File
  • How To Write Data In Excel File
  • Database Testing Using MSSQL
  • Database Testing Using MySQL
  • Database Testing Using DB2
  • Handle Ajax Call in Selenium
  • Listeners in Selenium
  • Handling JavaScript in Selenium
  • Stale Element Reference Exception in Selenium
  • Integrate Sikuli with Selenium
  • Headless Browser Testing 
  • Headless Browser Testing using HtmlUnitDriver
  • Headless Browser Testing using PhanthomJSDriver


  • TestNG Installation
  • TestNG Complete Tutorial


  • Extent Reports Introduction
  • Extent Reports Generation
  • Capturing Screenshots & Including In Extent Reports
  • Extent Reports Version 4


  • ANT Build Tool - How To Download & Install
  • Maven Build Tool - How To Download & Install
  • Creating Maven Selenium Project
  • GIT Integration with Selenium
  • Jenkins - How To Download & Install
  • Jenkins - Executing TestNG Scripts
  • Jenkins - Generating Reports After Test Execution
  • Jenkins - Executing Maven Project
  • Create build and Execute build for nightly execution
  • Send Email report based on build Status
  • Selenium Continuous Integration with Jenkins [Selenium – Maven – Git – Jenkins] – Step By Step Guide


  • Running Selenium Tests On BrowserStack
  • Kobiton - Mobile Testing Platform with Real Devices


  • Mobile Testing Platform with Real Devices


  • What is Framework & Types of Framework
  • Page Object Model Design Pattern
  • Data Driven Framework
  • How to explain Test Automation Framework or Selenium Automation Framework Architecture In Interview

  • API Testing:

  • Learn API Testing
  • Postman Tutorial (API Testing with Postman)


  • Test Automation Framework Interview Questions
  • Selenium Interview Questions
  • TestNG Interview Questions
  • Java Interview Questions
  • Python Interview Questions
  • API Testing Interview Questions


  • Automation Tester Resume
  • Selenium Wait Commands – Implicit, Explicit, Fluent Waits | Selenium WebDriver Tutorial

    Selenium Wait commands play an important role while executing Selenium tests. Let’s see different wait commands such as “Implicit“, and “Explicit” wait commands in selenium.

    While executing scripts, sometimes we may face an exception “Element Not Visible Exception“. This exception appears when there is a delay in loading time of the elements which we are interacting. To overcome this issue we need to use Wait Commands. Using the Selenium Wait Commands, our script will wait for the elements to load for certain time before continuing with the next step.

    Different Types of Selenium Wait Commands are:

    1. Implicit Wait
    2. Explicit Wait – WebDriverWait
    3. FluentWait

    Implicit Wait:

    The implicit wait tells to the WebDriver to wait for certain amount of time before it throws an exception. Once we set the time, WebDriver will wait for the element based on the time we set before it throws an exception. The default setting is 0 (zero). We need to set some wait time to make WebDriver to wait for the required time.

    Note: Implicit Wait is in place for the entire time the browser is open. Time taken to search all the elements are based on the time fixed for the implicit wait.


    Implicit Wait time is applied to all the elements in the script.

    Implicit wait will accept 2 parameters, the first parameter will accept the time as an integer value and the second parameter will accept the time measurement in terms of SECONDS, MINUTES, MILISECOND, MICROSECONDS, NANOSECONDS, DAYS, HOURS, etc.

    Complete post on Implicit Waits with an example.

    Explicit Wait:

    Explicit waits are confined to a particular web element. Explicit Wait is code you define to wait for a certain condition to occur before proceeding further in the code.

    Explicit wait is of two types:

    1. WebDriverWait
    2. FluentWait


    WebDriverWait is applied on certain element with defined expected condition and time. This wait is only applied to the specified element. This wait can also throw exception when element is not found.

    The following are the Expected Conditions that can be used in Explicit Wait

    1. alertIsPresent()
    2. elementSelectionStateToBe()
    3. elementToBeClickable()
    4. elementToBeSelected()
    5. frameToBeAvaliableAndSwitchToIt()
    6. invisibilityOfTheElementLocated()
    7. invisibilityOfElementWithText()
    8. presenceOfAllElementsLocatedBy()
    9. presenceOfElementLocated()
    10. textToBePresentInElement()
    11. textToBePresentInElementLocated()
    12. textToBePresentInElementValue()
    13. titleIs()
    14. titleContains()
    15. visibilityOf()
    16. visibilityOfAllElements()
    17. visibilityOfAllElementsLocatedBy()
    18. visibilityOfElementLocated()


    Complete post on WebDriverWait with an example.


    FluentWait can define the maximum amount of time to wait for a specific condition and frequency with which to check the condition before throwing an “ElementNotVisibleException” exception.

    To say in effortless manner, it tries to find the web element repeatedly at regular intervals of time until the timeout or till the object gets found.

    We use Fluent Wait commands mainly when we have web elements which sometimes visible in few seconds and some times take more time than usual to visible. Mainly in Ajax applications.



    Fluent Wait uses two parameters – timeout value and polling frequency. In the above syntax we took time out value as 45 seconds and polling frequency as 5 seconds.
    The maximum amount of time (45 seconds) to wait for a condition and the frequency (5 seconds) to check the success or failure of a specified condition. If the element is located with in this time frame it will perform the operations else it will throw an “ElementNotVisibleException”

    Complete post on Fluent Wait with an example.

    If you are not regular reader of my blog then I highly recommend you to signup for the free email newsletter using the below link.

    Subscribe and get a free eBook and regular updates from

    Selenium Wait Commands

    Get our latest blog posts delivered to your inbox

    Subscribe and get popular blog posts about software testing industry.


    Leave a Comment

    Share via
    Copy link
    Powered by Social Snap