You are on page 1of 1
Difference between ImplicitWait, ExplicitWait, FluentWait, PageLoadTimeOut and Thread.sleep in Selenium WebDriver Difference between implicitWait, FxplicitWait, FluentWait, PagsLoadTimeOut and Thread.sieep in Selenium WebDriver ‘Synchronization in Selenium WebDriver: 1.hatis Synchronization 2.\%hy synchronization is required. 43.\then Synchronization i required 4.Conditional and Uncancitionat symchronization in Selenium Veborver ‘lt isa mechanism which involves more than one components to vork parallel with Each other. ‘Generally in Test Automation, we have tvo components 1. Application Under Test. 2. Test Automation Tool. ‘Both these components will have their own speed. We should write our scripts in such a way that both Une components should move with same and desired Speed, so that we will not encounter “Element Not Func” errors which wil consume time again in debugging. ‘tts a process of coordinating or matching two or more actvities/devices/processes in time. ‘Process of matching the speed of AUT (application under tet) & Test tol in orcer to get proper execution. During the test erection Test tool gives instructions one by one with same speed, but AUT takes less time for some steps execution and more time for some steps execution, In arder to keep them in sync then Synchrontzation is required. ‘whenever any step required time more than Synchronization time for execution, then Synchronization is required. Threed.Steep: “Thyead sleep method is used to pause the execution for defined time. Time is defined in milliseconds for this method. Implicit Wait: ‘During implicit wait i the Web Driver cannot find it immediately because of ts avalabity, wl keep polling the DOM to get the element. ‘if the element is not available within the specified Time an NeSuchElementException wil be raised, ‘The default setting is zero Once we set atime, the Web Driver waits forthe period ofthe WebDriver object instance. Explicit Wait: ‘There can be instance when a particular element takes more than a minute to loa ‘in that case you definitely not like to set 3 huge time to implicit wait, as if you co this your browser wil going to walt forthe same time for every elernent. ‘Ta avoid that situation you can simply puta separate time on the required element only. +2y following this your browser impli vat time would be short for every element and it would be large for specific element. Fluent Wait: ‘Let's say you have an element which sometime appears in just 7 second and seme tie i akes minutes to appear. ‘in that cave its better to use fluent wt, as this wil try to ind element again and agin uni it fing itor until the final timer runs out age Load Time Out: ‘The pageLcadTimeout limits the time thatthe scrip allots for a web page to be displayed. “if the page loads within the time then the script continues. ‘if the page doesnot load within the timeout the script wll be stopped by a Timeoutexception ExplicitWait java sapere -seteniun.t); sapere cseteniua.tenDeivery haport haport haport haport haport haport haport public class mapiicitvait ( (rest public void main() throws In (ares. aiet) + 7s oO tex ()=!stacs!])} click’) pach ("/ Jag [20s ()=" Bel orta!'7"9) sDispleyed(), "Content is ast displayed") gestext (1) public void closet) { tO popiie class riuencvastt { srearcensacn { opercy ("#aba2iVer. onan. azi7er"y y(ugez.aiz") + “/era/naan/zeacazoea/ct get ("netpt //the-anternet.neroruapp,con/amane sanazlenanc(By.spata("//ouccon text |) ~!Sese2'7"9 1 .elsee0¢ fart ~ now Fiuencha:tojenzesver> (ars ubiie vena eiosa() ( aziver-ausc(] ImplicitWait java public class Inplicitiait ( static feboesver on etear public vera main() throws Syeven.geveroperty (ures. ai") + /are/mein/sescarces/oheenedssves") new ChrereDraver(): sransge()« stconns) + get (*hotp://the-internes herokuapp,can/dymamic_contecls") + saBLenens (By. xpsch(*//outton [ide'een!}*)) .ol3ck()# ver. findBenens(By.xpath("//input [Bidtchecktox'}")) splayed(), “chectSox is not displayed") saBLenens (By. xpsch(*//button tex: )=!Renave!]"}) .ol:ckth listelenent nencoge = sriver tinablenent y.25(nesoage"1) + Assert agsersTrue(nessage.tsDisplayed(), "Message 2s not displayed"): est public vend closet) ( PageLoadTimeOut java amport java-utit.coneurrens Tanetast aaport sapere haport haport opange. getentua.teboriver; ppenge.geteniua, chroue, 4 public class FayeLoadrimeout | trast public void main() | ‘systen, secroperty ("websriver.chroue. driver", Syeven.gevizoperty("user.dis") + "/az) aeiver = new ChecneDeiver(): amacate () pageloadTinas: reaneoe() rer. get ("accp://che-inverner ercuapp.com/dynanic_1eading/1") publie void close’) ( auc)? ThreadSleep java public class ThreedSiesp { etext public void main() throws In ont oocrty (fvkciver ghee Gloe; sroperty ("uses Sis") + "/eez/anis) few CheceeDeives(); get ("atep: (/thenin apech("//eutcon (J2de'bea']")} click (y yy smpath(*//input (84 x 2eDiepleyed(), “checliox 22 not aiepLave By. xpech (*//butcon sx ()=tRemeve']"}) clickth #3ndELenent (Sy.19(*me90g2")) cfrue(nessage.aDisplayed(), “Message is not displayed"): eatrestese public vend closet) ( a2e0) (Smenronization ith all types of waits in WebDraver) Synchronization java pupiie class smnronization | public static void main (scring{] 2203) throws intezrupteah (Corseaziver. caren, desver", y(ruser.aiz") + "/erc/msai/zesoaross/ohe sransge() «:ineaate } pagsiosatinecz: (3 seansge() «:ineaute (}2apisctsiyas peivers (ars

You might also like