Selenium is an industry-standard test automation tool many are familiar with. Selenium is open-source software that offers various tools for different use cases. Those tools are WebDriver, IDE, and Grid. WebDriver is intended for advanced users for writing test scripts. IDE offers an easy-to-use interface to record users’ interactions with the web browser and playback test scripts. Grid offers virtual and physical device support for users to run simultaneous tests at once. With all of these toolsets, the software does have its drawbacks. Developers have repeatedly expressed frustration with the limitations of Selenium.
Takahiro Yasuda, an Executive Officer at SMN Corporation shared with us his experiences with Selenium. He told us his company tried to implement the open-source automation testing tool Selenium about five years ago. “We got to the point where we could start using it, but keeping up with subsequent development and continual maintenance became too labor-intensive,” explains Yasuda. He continues, “We were releasing once or twice a month at the time. The time it took to maintain Selenium and the cost of allocating skilled staff didn’t make financial sense. Of course, I’m not saying Selenium isn’t a good tool for test automation. It’s that we had a negative experience with it.”
Tomokazu Manabe, an engineer on the quality assurance team at Carview Inc. explains his team’s frustration with the tool. Citing, “development and maintenance were very time-consuming. Maintenance would take ages when a program or screen changed because the automated test needed to be edited as well.”
Seiji Tsukioka of ZOZO Technologies explained to us, “every time there was a modification in the program, Selenium had to be modified as well.” When we asked about how this associated with man-hours he explained, “management and operation costs are quite high, such as server maintenance of Selenium’s operating environment, and there were only a few people who could do these tasks.” He further elaborated, “In other words, the major issue was that the test environment was becoming more and more specialized, and I had always wanted to solve this issue.”
If you are a developer using Selenium, we are sure you can attest to the same frustrations. We have compiled a list of most of these hindrances, plus offer solutions to get around these restrictions with the popular tool.
What are the limitations of Selenium?
No desktop support, only web browser support. Selenium cannot automate testing on desktop apps, yet limited to web apps. You cannot operate outside of the browser. For example, it is quite frustrating if you are testing a feature to open a local file and upload it.
Veronica Miller is a Cybersecurity Expert at VPNoverview explains, “Selenium does not have support for desktop application research.” Eric McGee is a Senior Network Engineer at TRG Datacenters elaborates, “Windows programs are not supported by Selenium. Selenium only allows web-based software, implying that it can only be used to research websites.”
Selenium is also limited from testing mobile apps too. “Selenium can be used to test on any operating system and browser on the desktop, but it cannot be used to test on handheld devices,” describes Eric McGee.
Coding required. Selenium WebDriver requires coding to “write” test scripts that simulate real user interaction with the web browser. This raises the barrier of entry for non-engineering testers. It also places more burden on developers to code for testing when their efforts can be channeled towards new features and innovation. Cybersecurity Expert Veronica Miller concurs, “Selenium needs the team’s experience as well as money to handle.”
Lack of built-in image comparison. By default, Selenium doesn’t have a built-in image comparison solution. You must seek third-party solutions for this feature.
Lack of tech support. Being that it is open-source, there is no dedicated support ticketing system. You must resort to forums, chat rooms, or support via Slack. In its defense, there is a large community to tap into for help… just not directly from the makers.
Lack of reporting capabilities. You must seek third-party add-ons to gain reporting functionality. It is not built directly into the automation tool.
Maintenance nightmares. One of the greatest frustrations many developers gripe about while using Selenium is maintenance. At scale, it can be cumbersome. Luckily there is help to avoid Selenium maintenance headaches.