Selenium is an open-source solution for ‘automating’ web application testing. Self-made automation frameworks such as Selenium are fundamentally about testing the low-level code, not the user experience,
The biggest challenge lies not only in writing the code but also maintaining it. Maintenance is actually the largest cost of automation. When using Selenium, it’s up to your team to install updates, make security fixes, implement new modules, etc. This quickly creates problems as the team is already stretched with other projects and under tight delivery deadlines, letting the maintenance of the software go down the drain. This can only kill your project quality as security patches are not installed, and defects are not being fixed.
The more time you spend on coding, the less time you spend to uncover defects that impact user experience.
Selenium is more complex and the learning curve is steeper. The time that is required to get Selenium up and running means even less time will be available for testing. Selenium is exclusively a web test automation solution; automating other technologies will require the integration of additional components. Additional components will add more complexity and create an even steeper learning curve.
So if you add up the time you need to set it up, the time to train your resources how to use it and the time you need to spend coding and maintaining code and you are already off time and off budget!
Yes off budget! Don’t get blinded by the ‘free’ licenses and ‘no cost’ statements. All things come with a price; and the underlying costs of open source adoption threatens to erode the very cost benefits that have made them compelling in the first place.
Organizations that deploy and support self-made automation frameworks take on a significant amount of in-house integration, development and support costs.
With Selenium, it’s all up to you. And so is support. Though Selenium community is very large, sometimes getting support to fix a problem could a lot more time. Since open source depends on the community to resolve and fix issues, the issue is addressed when the community has the time to review the problem. But when you’re on a tight delivery schedule, the lack of formal support can put your project at great risk.