Selenium RC Architecture
Selenium RC has two
components:
- Selenium
Server which launches and kills
browsers, interprets and runs the Selenese commands passed from the test
program, and acts as an HTTP proxy, intercepting and verifying
HTTP messages passed between the browser and the AUT.
- Client
libraries which provide the interface
between each programming language and the Selenium RC Server.
The diagram shows the
client libraries communicate with the Server passing each Selenium command for
execution. Then the server passes the Selenium command to the browser using
Selenium-Core JavaScript commands. The browser, using its JavaScript
interpreter, executes the Selenium command. This runs the Selenese action or
verification you specified in your test script.
Selenium Server
Selenium Server receives
Selenium commands from your test program, interprets them, and reports back to
your program the results of running those tests.
The RC server bundles
Selenium Core and automatically injects it into the browser. This occurs when
your test program opens the browser (using a client library API function).
Selenium-Core is a JavaScript program, actually a set of JavaScript functions
which interprets and executes Selenese commands using the browser’s built-in
JavaScript interpreter.
The Server receives the
Selenese commands from your test program using simple HTTP GET/POST requests.
This means you can use any programming language that can send HTTP requests to
automate Selenium tests on the browser.
Client Libraries
The client libraries
provide the programming support that allows you to run Selenium commands from a
program of your own design. There is a different client library for each
supported language. A Selenium client library provides a programming interface
(API), i.e., a set of functions, which run Selenium commands from your own
program. Within each interface, there is a programming function that supports
each Selenese command.
The client library takes
a Selenese command and passes it to the Selenium Server for processing a
specific action or test against the application under test (AUT). The client
library also receives the result of that command and passes it back to your
program. Your program can receive the result and store it into a program
variable and report it as a success or failure, or possibly take corrective
action if it was an unexpected error.
So to create a test
program, you simply write a program that runs a set of Selenium commands using
a client library API. And, optionally, if you already have a Selenese test
script created in the Selenium-IDE, you can generate the Selenium RC
code. The Selenium-IDE can translate (using its Export menu item) its
Selenium commands into a client-driver’s API function calls. See the Selenium-IDE
chapter for specifics on exporting RC code from Selenium-IDE.
ReplyDeleteVery informative ..i suggest this blog to my friends..Thank you for sharing
Selenium Training in velachery | selenium training and placement in chennai |Selenium Training