Overall Satisfaction with Selenium
We use both Selenium IDE for quick-and-dirty automation tasks by non-technical users and the Java bindings to build out a robust suite of functional tests we can run for regression testing automatically. We also use the Python and Node bindings for similar tasks and automation efforts outside of testing, like deployment verification or monitoring of the site.
- Test automation; this is hands-down the best library for writing a suite of tests.
- Interfacing with browsers; this allows for cross-browser testing without much thought.
- Distributed testing in a grid. You can even get set up with Docker to automatically scale the nodes out as you run tests.
- AWS integration.
- The bindings can sometimes be difficult to use; functions aren't quite named how you expect sometimes.
- The naming is idiomatic to the language of the binding, which can make applying an example in one language to another language challenging.
- Internet Explorer remains a problem, and the drivers are often buggy.
- Functional regression testing helps prevent a lot of bugs from reaching production.