Saturday, January 28, 2017

[TIPS] Selenium Implicit Wait - Turn ON and OFF

While automating web application Selenium Webdriver Implicit wait is applied to all findElement and findElements keyword till the element is visible. But in some case we need to check if fields visibility immediately on performing some actions. So why to wait for default implicit wait of 15 or 30 seconds.

Here is the simple tip to override Implicit default wait time by Turning OFF the implicit wait while performing action and validating field visibility. Below Java code snippet will be helpful -

 public void turnOFFImplicitWait(Webdriver driver)  {  
   driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);  
 }  

After verifying the step turn ON default implicit wait as below -
 public void turnONImplicitWait(Webdriver driver)  {  
   driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);  
 }  

2 comments:

  1. Using explicit waits would give you more control. They alo poll every 500ms so if your element is available after a second or two, that is all the time you have to wait.

    ReplyDelete
    Replies
    1. Yes definitely explicit wait will give more control over turning off implicit wait, but in some case I need to check the invisibility of element after some button press, which was not working out with explicit wait. So i thought of this idea which return my result in sorter time.

      Delete