Selenium is an open source tool for automating web application testing. It has three main components: Selenium IDE for recording and playing back tests in Firefox, Selenium Core which runs tests directly in browsers using JavaScript, and Selenium RC which uses a client-server architecture to run tests on a remote Selenium Server that launches different browsers. Selenium supports testing applications in all major browsers on Windows, Mac, and Linux and can be used with programming languages like Java, Python, C#, and Ruby.