What is our primary use case?
Depending upon the functionality, I use Selenium to prepare the scenarios I'm doing. I start by writing automation scripts in Java. From there, we execute the scripts if there are any changes in the product. Then we upgrade this overnight along with Jenkins to make sure our application is running as expected. They feature continuous deployment and continuous integration with the help of our teams, so our product will be applied to more users once it's adequately tested.
What is most valuable?
Selenium is the fastest tool compared to other competitors. It can run on any language, like Java, Python, C++, and .NET. So we can test any application on Selenium, whether it's mobile or desktop. And if I build some framework on Selenium, I can give it to someone else. Then they can use it and start going further. One more thing is that you can implement any framework on it, like TestNG, Cucumber, JUnit, etc.
What needs improvement?
Selenium should implement more islands for a desktop feature. My laptop and desktop have a calibrator or some other desktop applications. We can automate those things through Selenium, so they should be adding them in the subsequent versions. For now, I guess Selenium could add some other features like object communications for easy expansion.
For how long have I used the solution?
I've been using Selenium HQ for about five years.
What do I think about the stability of the solution?
So performance-wise, Selenium is the best tool so far. It has the fastest automating tools.
What do I think about the scalability of the solution?
We run scenarios at midnight or around that time and split this application into virtual machines. So during that time, the application is executed in panel mode. Let's say I have 10 vital missions in the Google Cloud Platform. These things will be triggered automatically and executed in each of the machines. And it has a balancing load concept, so if one machine is at capacity, it will automatically move to a second machine for the other scenarios. So there is never an issue with scalability. We have more than 1,000 employees in the company using it every day to develop scripts.
How are customer service and support?
Because Selenium HQ is open source, we don't have a customer service team or technical support, so we have to search on our own for answers. When I've had problems in the past,I've had to Google to see if it's an application issue or a Selenium issue. Without any help from vendors, it's difficult to automate some things like CAPTCHA. But still, we have a framework that is ready for this. So with the help of this framework and importing those library files, we can make our own way.
Which solution did I use previously and why did I switch?
At my previous company, we used a UFT tool called Micro Focus UFT. We used this because it was a different kind of use case where we had to transfer our publications back and forth between the mainframe and the mobile application. So we have to format that, which is why we used the UFT.
How was the initial setup?
Setting up SeleniumHQ isn't that complex. We like to develop our application in Pega and have a point cloud that we deploy on Google Cloud. It is developed and tested with Jenkins, which is a continuous integration tool. Once the code is specific to Jenkins, we trigger Selenium and execute the scenarios. After this finishes, we move everything to cloud.
Along with this docker, there is a deployment phase in Google Cloud, where the images of our application are moved to pre-production. Pre-production is something like a replica of production that allows the users to work on it. So once it is transferred to pre-production, the users will work for one week or one or two. If they are satisfied, we move on to production.
Deployment usually requires about eight to ten people. Most of the work is done by technicians who are akin to database administrators. They take this on for one month a year every year. Their job is mostly to minimize the weight of the application. In the next phase, DevOps engineers deploy the enviornment. The time for deployment depends on the teams and the tasks. If there is a small change, it may have taken between half an hour and an hour. On the other hand, if there is a significant upgrade of the application, it may take eight to ten hours. Generally, we don't need any maintenance unless a UR application has changed.
What's my experience with pricing, setup cost, and licensing?
Selenium is free. Anyone can use it without paying anything.
What other advice do I have?
I rate SeleniumHQ seven out of 10. When you're choosing a solution, it depends upon the type of applications you are using in your project. If you have only have desktop and mobile, go for Selenium. However, if you have multiple applications like Windows-based applications, a virtual machine-based application, or a mainframe .NET application, I suggest going with another tool, like Tosca UFT.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Google
Disclosure: I am a real user, and this review is based on my own experience and opinions.