

The basic design of selenium is as follows:
A Javascript component called Selenium Core runs in the actual browser. It loads the test target URL, and it performs manipulations and assertions directly to the DOM using Javascript.
A server called Selenium Remote Control runs on the target machine, it is responsible for launching test browser sessions and for relaying test commands.
A Selenium client library that provides a clean interface to the Selenium Remote Control. By using this library simple test scripts can be written.