- Selenium is a open source automation tool used to perform automation of web based applications across different browsers and platforms. It has advantages as well as disadvantages. In this article, we will discuss different challenges we face in our day to day activities.
Challenges and limitations of Selenium WebDriver:
- Unable to test window based applications.
- Cross browser testing
- Handling dynamic Elements
- Synchronization & Timeout issue
- Handling pop up windows
- Handling of Captcha
- Programming language knowledge
- Integration with different tools
Unable to test window based applications:
Selenium only supports automation of web based applications. It does not support automation of Window/Desktop based applications.
Cross browser testing:
During the creation of automation scripts, we focus only on one browser in particular. However, when it comes to real execution of scripts, the script should run efficiently in all browsers(Chrome, Firefox, Edge, IE). This is also called Cross Browser Testing. But sometimes script that is running efficiently on one browser may not run the same way on other browsers and may throw exceptions. In order to fix these errors, we may need to change our locator strategies and analyse the result.
Handling dynamic Elements:
Sometimes Web page may have dynamic web elements changing with page load. These dynamic elements can be handled with dynamic xpath or dynamic css selectors. We can use functions like starts-with, contains, ends with etc to handle dynamic web elements.
Synchronization & Timeout issue:
Synchronization/ TimeOut issue is one of the most common challenge we face while doing automation. It leads to the failure of automation scripts. We can avoid these failures by using smart wait techniques provided by Selenium like implicit wait, explicit wait, fluent wait. This can also be handled by writing our own custom methods. The use of these waits in the script give elements enough time to load, which also helps in identifying the elements.
Handling pop up windows:
Selenium can not handle Windows-based pop ups which are part of the operating system. These windows based popups can be handled by the use of AutoIT (AutoIt is an open source tool that can be used to automate various processes involving Windows and desktop applications).
Handling of captcha:
Selenium does not provide functionality to handle Captcha. However, we can automate Captcha by using third-party tools.
Programming language knowledge:
Selenium provides support for multiple programming languages like Java, Python, C#, Perl etc . In order to write scripts for complex business scenarios, one should need to have expertise in any one of these programming languages.
Integration with different tools:
In order to develop a robust automation framework, we may need to use multiple tools like maven, TestNG, Jenkins, Log4j etc. The integration between these different set of tools can bring certain challenges for automation engineers.