All Good Things Come to Those Who Wait ... Dynamically

Anatomy of Dynamic Waiting in Test Automation

Let's learn a Tool-Independent Architecture of Dynamic Waiting

In the past decade, more and more testers have started using terms like Implicitly waiting, Explicitly Waiting, Fluent Waiting etc. In my opinion this has been largely influenced by the popularity of Selenium WebDriver as these are named features related to waiting in this library. However, beyond recognising the names, these waiting functions are mostly used as "best practices" rather than fully appreciating the problem context. In implementations done by newbies, the waits are missing and in the implementations done by very experienced professionals, you can see them being used when they are made available and ignored at other places. This observation is based on review of tens of frameworks across different organisations, test automation layers and tools. All of them have ill-utilised/hardly utilised existing waits in libraries and mostly-absent dynamic waits for scenarios where read-made waits are not available. This talk is not a Selenium talk or a talk about waiting in Selenium and hence it is also not confined to the world of Web GUI test automation. Dynamic waiting is a generic and critical concept which needs to be understand by all testers from the ground up. This talk explores dynamic waiting from raw code and logic perspective. The talk aims to motivate the audience to use more and more of dynamic waiting independent of whether the library that they use makes this feature available or not. After all, all good things come to those wait dynamically.