Selenium is a browser automation tool. It allows you to do automate manual tests by Selenium bindings such as Java, Ruby, C# and more.
For example, in a payment interface, you need to test the correct payment receipt for each delivery. You can execute this scenario automatically during deployment with Selenium. This significantly reduces the time spent on manual testing and allows you to perform a full test interval.
Testing with Selenium utilizes 3 main components: Selenium IDE, Selenium WebDriver, and Selenium GRID.
Selenium IDE records the behaviors you perform manually in the browser and logs it to run automatically. Manual test engineers usually use it.
Selenium WebDriver is an API and it allows you to develop automated test cases by its bindings. WebDriver also allows you to do Cross Browser Testing by executing automated tests on different browsers.
Selenium Grid allows you to do parallel testing by distributing tests on different machines. There is two main roles in Grid: Hub and Nodes. Hub is the orchestrator that distributes requests to the nodes. Node is the executer which executes the requests received from the hub on it.