Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
Selenium is a tool in the Testing Frameworks category of a tech stack.
What are some alternatives to Selenium?
Jest provides you with multiple layers on top of Jasmine.
Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases.
JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
It is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It has several interfaces that allow the developer to choose the most comfortable. The chain-capable BDD styles provide an expressive language & readable style, while the TDD assert style provides a more classical feel.
Nemo.js, Selendroid, Targetprocess, Nightwatchjs, Zen Rails Base Application and 7 more are some of the popular tools that integrate with Selenium. Here's a list of all 12 tools that integrate with Selenium.