Expose a Common Lie, “Selenium is Flaky”, Part 2: Clarify ‘automated waiting’
The reason behind ‘flakiness’ is waiting. ‘Automated Testing’ is not that good, there is a much better and simpler solution.
This article is one of the “IT Terminology Clarified” series.
From Part 1, sensible people should agree that Selenium is not flaky, it is the test script issue. In other words, it is to do the tester’s capability.
The so-called “flaky” issue is all about waits in test scripts. AJAX and the use of JavaScript make web pages dynamic. This surely adds some challenges to web test automation because we need to check certain operations whether completed in the test scripts. If an operation, e.g. a payment, takes longer than expected, the next assertion for the receipt number will fail.
By the way, Selenium has two mechanisms to handle the waits: Implicit and Explicit Waits. Again, Selenium is not the issue. But, don’t forget most automated testers are fake (not believing, read this article, One Simple Test Automation Scenario Interview Question that Most Candidates Failed), fake automated testers often actively seek excuses. To them, after failure, a logical way is to switch to another framework, giving them extra time to work fakely.