Selenium remote control is a server implemented in Java,
which accepts commands via http and perform requested operation in requested browser.
Selenium Client API is a framework developed to encapsulate the command implementation of the operations, we need might want to perform on browser via selenium remote control. Selenium Client API have been developed in multiple languages like java and .net.
Being a java programmer, here I will give examples using java language (wherever necessary)
The combination of Selenium remote control & Selenium
client API is useful in following scenarios
–
- Performing Automation testing of web based application.
- Performing some automated operation on the website and retrieve the result
Selenium Remote control and Selenium Client API frame work implements client sever model. Selenium remote control works as server and we implement the client to perform operations, using Selenium Client API.
In high level, we follow the following steps to use it –
- Start selenium remote control server
- Execute client possibly a java program to fire the commands and perform the operation
Details of the way to perform these operations is as
mentioned below –
Starting the selenium
remote control server –
Selenium remote control server can be started in two ways –
Selenium remote control server can be started in two ways –
- Starting from command line as stand
alone application – We can use the following command to start the
selenium rc server.
java -jar selenium-server.jar -trustAllSSLcertificates -multiWindow
By default the server starts listening on port no 4444. If this port is not available to connected, You will get connection reset error while trying to connect from client. In this case, you can use another available port with below command line -
java -jar selenium-server.jar -trustAllSSLcertificates -multiWindow -port 8080
selenium-server.jar can downloaded from the following url -
http://selenium.googlecode.com/files/selenium-remote-control-1.0.3.zip
- Starting from with in the application –
We can include the jar in the application and start the server from
using below sample code -
SeleniumServer server = new SeleniumServer ();
server.start();
--------
server.stop();
By default it will listen at port 4444 but we can reset it if needed before starting the server.
Starting selenium client code execution – We can use below section of code to develop the selenium client code to perform operation on the respective site -
Selenium selenium = new DefaultSelenium( String seleniumServerHost, int seleniumServerPort,
String browserType,
String baseURL);
selenium.open ("http://www.somesite.com/somePage.html");
selenium.stop ();
Demo -
Below is sample display of code of combination of selenium remote control server and selenium client in execution.
It performs below operations -
1- Open the browser
2- Type the url & go to site
3- Put the pin in site & click
on go
4- Count the number of locations
obtained
5- Retrieves pre-defined number of
locations
6- Save them in a file.
Note - If video looks to be blurred, kindly choose 720p (HD) quality option in the embedded player to get fine quality picture.
We can easily integration selenium in the project using below mentioned maven dependencies.
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.21.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium.server</groupId>
<artifactId>selenium-server</artifactId>
<version>2.21.0</version>
</dependency>
These dependencies exist on below mentioned repository -
http://repo1.maven.org/maven2/org/seleniumhq/selenium
Debugging – If selenium client faces any issues while connecting, we can test the proper functioning of each
component independently. We can test the proper setup of server by running it
using interactive mode. The steps to test are as mentioned below -
- Run
Selenium server in interactive mode. To do this run the command:
java -jar selenium-server.jar -interactive -
multiWindow
Once the server starts in the interactive mode you will see a line that says:
Entering interactive mode ... type selenium commands here
- Now you can start a new selenium browser
session using the command:
cmd=getNewBrowserSession&1=*firefox&2=http://www.google.com
This should open a new blank Firefox browser window.
- Now
run the following command:
cmd=open&1=http://www.google.com
If the browser starts and you see Google’s home page in it, your basic setup seems to be fine.
- Type
quit to exit the interactive mode
http://seleniumhq.org/download/maven.html
http://www.bitmotif.com/selenium/selenium-remote-control-for-java-a-tutorial/
http://www.qaautomation.net/?p=17
http://seleniumhq.org/projects/
This comment has been removed by the author.
ReplyDeleteThe above article "Selenium remote control & Selenium Client API Introduction" is more informative. This is more helpful for our selenium testing trainingi in chennai. Thanks for sharing
ReplyDelete