This is the go to tool for all the web service testing needs. You can do functional testing, regression testing, automate the testing and drive the data from external sources like a Excel spread sheet or an xml document and finally performance testing. It can get better in scenarios where the response is to be compared with UI, with more automation. The license cost needs to be considered when there are many open source tools out there in the market.
When you have to test the UI and how it behaves when certain actions are performed, you need something that can automate the browsers. This is where Selenium comes to the rescue. If you have to test APIs and not the frontend (UI), I would recommend going with other libraries that support HTTP Requests. Selenium is good only when you have no choice but to run the steps on a browser.
Fast and efficient execution of automated testing.
Built in Javascript that can be used to run test cases with a repository tool such as HP Quality Center. This will show the test results and allow the QA engineer to pass, fail, or set a test case to N/A.
As always, this is not a free tool and you have to pay for license. There are many open source tools which can perform similar job with no cost albeit with less functionality and more head work.
There is still some more room for improving the automation which can include more UI level components to make life lot easier when comparing the response vs UI.
Selenium is pretty user-friendly but sometimes tests tend to flake out. I'd say roughly one out of twenty tests yields a false positive.
Selenium software cannot read images. This is a minor negative because a free plug-in is available from alternate sources.
Slowness may be a minor factor with Selenium, though this is an issue with basically any testing software since waiting on a site to execute JavaScript requires the browser to wait for a particular action.
We love this product mainly because of its high customization abilities and the ease of use. Moreover, its free and can be learned easily through online communities and videos. The tests are more consistent and reliable as compared to Manual tests. It has enabled us to test a large number of features all in one go, which would have impossible through manual tests. The reports generated at the end of the tests are really helpful for the QA and the development teams to get a fair view of the application.
For those who are unfamiliar with coding, there is a bit of a learning curve. There is plenty of helpful documentation and resources but it can take a little time to get the software up and running. Once you get the hang of how Selenium works, and what it can do, you realize how many things you can use it for, and how many processes you can automate.
The Selenium app has a pretty fat community of users. For the problems we are experiencing, we are primarily receiving support from these communities. In addition, there is widespread service support. Instant support is given to the problems we experience when we need Online support. We and our team are happy to provide this support, especially before important deployment processes
We did everything we needed to use it. Now we can execute our tests on different operational systems and browsers running few tests simultaneously. We also implemented Appium framework to execute our tests on mobile devices, such as iPhones, iPads, Android phones and tablets. We use SauceLabs for our test execution and Jenkins for continuous integration.
At the time of adoption, there were not many other alternatives that were even close to being competitive when it comes to browser testing. As far as I know now to this day, there is still little competition to Selenium for what it does. Any other browser-based testing still utilises Selenium to interact with the browser.
It has been of tremendous help as the ONE STOP TOOL to test the APIs end to end. Ease of use is great and their support staff is excellent. They always conduct brown bag sessions for us to learn about new features. Overall it has given us a great ROI considering how fast we can test and deliver to market.