We don't directly use Selenium. We have built a wrapper around Selenium so other teams can consume it.
We are using version 4.0.1. We run it on a Microsoft public cloud in the CI/CD server.
There are around four teams which are currently using this solution, and we have a target of having around 10 teams.
It's easy for new people to get trained on this solution. If we are hiring new people, the resource pool in the market in test automation is largely around Selenium. It has a wider community. If there are issues, you can look around online and find a good solution.
Selenium is in continuous development. They release very stable versions. Those are the key points which helped us pick Selenium over other tools.
There are a few things we have to actually design and plan when we are building the automation. There are new tools which handle it by themselves, but that is a give and take when you actually use or choose a tool.
Shadow DOM could be improved and the handling of single page applications. Right now, it's a bit complicated and there are a lot of additional scripts required if you want to handle a single page application in a neat way.
With these technologies, at times you have a lot of callbacks. Those aren't handled very well with Selenium. At some point of time, suppose you have entered something and the button needs to be enabled. Now, in normal terms, it seems to be a client side action, so if you enter something on the client side, JavaScript is running. It'll say, "Value is this, so I'll enable the button."
With this technology, if you enter something, it will go back to the server, get some value, and then it will enable the button. At some point of time, your project's delayed, and there is a callback happening in the background. It will not try to understand that, and it may just timeout.
I have been using this solution for about eight years.
I think it has stabilized a lot, but it's not the best tool in the market. It has a lot of room for improvement, but it has a very big community.
It is certainly scalable. It depends on how you want to use it. You can use it over a grid with multiple office machines, or you can run it standalone.
We have never used technical support because there is normally good content on the internet.
We evaluated other options but chose Selenium because of the skill sets in the market. If you use other solutions, the challenge is that if a person leaves, you won't get a second person or third person. Replacements are very difficult to come by if you are using different solutions.
It's actually complex. It's not really straightforward, but it depends on what you're actually building for your organization. We have built a wrapper around it for other teams that are actually consuming it.
Initially, you build a solution around it, which is a challenge. If you are trying to build a standalone automation with Selenium, it will be a challenge.
There isn't a set deployment. If a team wants to use it, they can start using it from day one.
It's open-source, so it's free.
I would rate this solution 8 out of 10.
Learning is easy. Implementation is not as easy, but it is still better than other tools in the market right now. I'm giving it an eight because there are a lot of things Selenium is not supporting. The rest of technology is changing, but they are not changing along with it. Normally, if we are writing a complex test, we have to do a lot of workarounds, which isn't good when we are writing scripts.
I think it's very easy to screw up with Selenium if you're using it for the first time. If you are getting it for a large organization or large project, it makes sense to have some professional help.