Questions tagged [selenium-grid]

Selenium-Grid allows you run your tests on different machines against different browsers in parallel. That is, running multiple tests at the same time against different machines running different browsers and operating systems. Essentially, Selenium-Grid support distributed test execution. It allows for running your tests in a *distributed test execution environment*.

Selenium Grid is a component of the Selenium project that allows you run your tests on different machines against different browsers in parallel. That is, running multiple tests at the same time against different machines running different browsers and operating systems. The tests can be run on any number of machines at the same time.

It provides both environment management and resource allocation as it dispatches your tests against nodes in the grid. The environment management allows you to exert finer-grained control over the environment executed in than Selenium Server provides itself. For example, you can target your tests at specific browser versions or particular platforms.

Selenium Grid consist of HUB and Node. Selenium stand alone server jar executable can work as both Node and Hub. In order to configure Grid there must be a single HUB (selenium server running as HUB), and one or more Nodes (selenium server running as Node) attached to the HUB.

PROS AND CONS

Selenium Grid isn't a silver bullet. It solves a subset of common delegation and distribution problems, but will for example not manage your infrastructure and might not suite your specific needs.

Pros

  1. Scale. Scale by distributing tests on several machines using parallel execution.
  2. Central. Manage multiple environments from a central point, making it easy to run the tests against a large combination of browsers and operating systems.
  3. Minimize. Minimize the maintenance time for the grid by allowing you to implement custom hooks to leverage a virtual infrastructure of registered nodes.
  4. Cross-Platform. If your tests are running on one particular platform, by using a node on another platform you effectively have cross-platform testing.
  5. Smart. Grid can route commands to a certain version of a browser if you have two or more nodes registered, each pointing to a different version of the browser binary.

Cons

  1. Prompted input. You have no capabilities for user input if your tests want to prompt for user input whereas you would if your tests ran locally.
  2. Maintainability. You also need to maintain the health of other computer systems which run your nodes.
  3. Limited power. Certain third party libraries have limitations that prevent them from being used in conjunction with Grid.

References:

  1. Selenium Grid docs on seleniumhq.github.io
  2. Selenium Grid docs on seleniumhq.org
  3. Running Standalone Selenium Server form command line
  4. Selenium to Start Hub Server and register Nodes with Hub
1873 questions
0
votes
1 answer

Controlling chromedriver port usage in a Selenium Grid

I am currently running Chrome tests using Selenium Grid and am using the default 4444 and 5555 ports to comunicate between the hub and nodes. Everything is running fine but I do see that on the selenium nodes multiple chromedrivers are started and…
BarneyW
  • 79
  • 7
0
votes
0 answers

Unable to setup Node in mac for hub in windows

While setting up Selenium Grid: Windows as Hub Mac as Node While registering node in mac, the below error is displayed: Couldn't register this node: The hub is down or not responding: The hub responded with 305: Use Proxy Note: (1) Able to setup…
0
votes
2 answers

selenium grid - running tests simultaneously

I have a test suite with a big amount of tests. I would like those tests to run simultaneously by sending them to my HUB(assuming I have 2 Nodes). meaning, run all of my tests(locally or in Teamcity) and I'm expecting the result to be that Node1…
JumpIntoTheWater
  • 1,306
  • 2
  • 19
  • 46
0
votes
0 answers

org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService

I am trying to run a test on Remote Machine for selenium Grid and it gives me expection erro Expection Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService Build info: version:…
Dhrumil Pathak
  • 101
  • 3
  • 11
0
votes
1 answer

Force automation on particular node in Selenium grid

We have a Selenium grid setup on our office environment for web automation & for some testing purpose there is a scenario where the user may want to force the automation to happen on Chrome browser on node 3 out of the 4 active nodes. Later on the…
Varun Bali
  • 133
  • 1
  • 2
  • 17
0
votes
1 answer

Selenium Grid (RemoteWebDriver) usage with Cucumber jvm SharedDriver

I implemented cucumber-jvm picocontainer with SharedDriver and works well locally. I would like to use Selenium Grid which has been configured well but I don't know how should I modify Shareddriver class in order to use RemoteWebDriver instead of…
brobee
  • 231
  • 1
  • 5
  • 25
0
votes
1 answer

" org.openqa.selenium.SessionNotCreatedException" for selenium grid

I am trying to run script to another vm but it give me following error message. Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to create new service: ChromeDriverService Build info: version: '3.8.1', revision:…
Dhrumil Pathak
  • 101
  • 3
  • 11
0
votes
0 answers

User permissions error inside container while starting hub docker image

When I run command docker run -d -p 4444:4444 --name selenium-hub selenium/hub docker: Error response from daemon: driver failed programming external connectivity on endpoint selenium-hub…
Zakaria Shahed
  • 2,589
  • 6
  • 23
  • 52
0
votes
2 answers

How to test communicator (video, sound, microphone) implemented by using WebRTC

On my current job, we are developing an application that uses WebRTC technology. And we want to test the work of our application with 30 users in real time -- a conference call with video, sound, and microphone (and everything must work). We know…
0
votes
1 answer

Cross-Browser-Testing - How to configure parallel execution of tests in testng.xml

I want to execute parallel tests on different browsers by using TestNG. This is my testng.xml: