Skip to main content

Questions on Selenium Grid

What is Selenium Grid?


Selenium Grid is a part of the Selenium Suite that specializes on running multiple tests across different browsers, operating systems, and machines in parallel.
Selenium Grid has 2 versions – the older Grid 1 and the newer Grid 2. We will only focus on Grid 2 because Grid 1 is gradually being deprecated by the Selenium Team.
Selenium Grid uses a hub-node concept where you only run the test on a single machine called a hub, but the execution will be done by different machines called nodes

When to Use Selenium Grid?

You should use Selenium Grid when you want to do either one or both of following :
·         Run your tests against different browsers, operating systems, and machines all at the same time.This will ensure that the application you are testing is fully compatible with a wide range of browser-OS combinations.
·         Save time in execution of your test suites. If you set up Selenium Grid to run, say, 4 tests at a time, then you would be able to finish the whole suite around 4 times faster.

Grid 1.0 Vs Grid 2.0

Following are the main differences between Selenium Grid 1 and 2.
Grid 1
Grid 2
Selenium Grid 1 has its own remote control that is different from the Selenium RC server. They are two different programs.
Selenium Grid 2 is now bundled with the Selenium Server jar file
You need to install and configure Apache Ant first before you can use Grid 1.
You do not need to install Apache Ant in Grid 2.
Can only support Selenium RC commands/scripts.
Can support both Selenium RC and WebDriver scripts.
You can only automate one browser per remote control.
One remote control can automate up to 5 browsers.

What is a Hub and Node?

The Hub

·         The hub is the central point where you load your tests into.
·         There should only be one hub in a grid.
·         The hub is launched only on a single machine, say, a computer whose OS is Windows 7 and whose browser is IE.
·         The machine containing the hub is where the tests will be run, but you will see the browser being automated on the node.

The Nodes

·         Nodes are the Selenium instances that will execute the tests that you loaded on the hub.
·         There can be one or more nodes in a grid.
·         Nodes can be launched on multiple machines with different platforms and browsers.
·         The machines running the nodes need not be the same platform as that of the hub.

Comments

  1. I am trying to run the same test case on two different ip.. how can we do that?

    ReplyDelete
    Replies
    1. Hello,

      Please refer http://devrajndrg.blogspot.in/2014/03/how-to-install-gride-20.html

      Delete

Post a Comment

Popular posts from this blog

Rational Functional Tester: Calling RFT scripts from using xml tags

Hello, This will help to call RFT scripts in xml, if anyone using 'ant' this will help them to embed code to invoke RFT scripts. <java classname="com.rational.test.ft.rational_ft" fork="true" maxmemory="1024m">         <classpath>         <fileset dir="C:\Program Files\IBM\SDP\FunctionalTester\bin\">         <include name="rational_ft.jar" />         </fileset>         </classpath>         <jvmarg line="-Drational_ft.install.dir=&quot;C:\Program Files\IBM\SDP\jdk_\jre\bin&quot;" />         <arg line="-rt.bring_up_logviewer false -datastore &quot;D:\RFT-Dev\Project&quot; -playback RFTTestSet5.testcase4.TestScript1" />         <arg line="-args -scriptArg ${scriptValue}" />         </java>

Rational Functional Tester: Creating and Reading Datapool cell value in RFT

Hello, Hope this will help for my friends who is trying to use data pool for dynamic values.If you want to use any run time values in between scripts then you will be looking for the functions to read/write/create datapool cells dynamically. /************ Dp row count *************************/ IDatapoolIterator  ite; ite.dpCurrent().getEquivalenceClass().getRecordCount(); /***************** to set cell value **************/ IDatapoolIterator it; ((DatapoolCell) it.dpCurrent().getCell("RunTimeSheetForContainers")).setCellValue("Y"); /*********** to load CSV files (csv to Datapool)*******************************/ public IDatapoolIterator LoadCSV(String Sname)       {             File fname=getFileName(Sname);             IDatapool dp=DatapoolUtilities. loadCSV (fname, "," , true );             IDatapoolIterator ii=dpFactory().open(dp, null );             ii.dpInitialize(dp);             return