selenium_rc_historical
Selenium - Historical Note (RC)
Section titled “Selenium - Historical Note (RC)”What was Selenium RC?
Section titled “What was Selenium RC?”Selenium Remote Control (RC), also known as Selenium 1, was the pioneering tool in the Selenium suite. For a long time, it was the primary way to write automated web application tests using various programming languages like Java, C#, Python, Ruby, Perl, and PHP.
RC worked by injecting JavaScript (Selenium Core) into the browser after launching it via a proxy server (Selenium RC Server). The test scripts (written in Java, Python, etc.) communicated with the RC Server, which then relayed commands to the browser via Selenium Core.
Why is it Deprecated?
Section titled “Why is it Deprecated?”While revolutionary for its time, the RC architecture had limitations:
- Proxy Injection: Relied on injecting JavaScript, which faced limitations due to browser security models (Same-Origin Policy).
- Complexity: Required a separate server process to be running.
- Speed: The communication via the server proxy added latency.
- API: The API was less object-oriented compared to WebDriver.
Selenium WebDriver (originally Selenium 2) was developed to overcome these limitations. WebDriver communicates directly with the browser using native browser automation APIs (or via a browser-specific driver), resulting in faster, more stable, and more capable tests.
Therefore, Selenium RC is officially deprecated and no longer supported. All new Selenium development should use WebDriver. This section serves only as a historical reference.