Amey
Amey

Reputation: 8548

How to get the number of idle browsers for a node in selenium grid2

My current setup is 5 nodes with 10 Firefox browsers each, all connected to a hub.

I am running into a problem where I am exhausting the 10 firefox browsers for each node. So any new selenium runs are getting queued up at the Hub and running when any FF browser for a node becomes available.

What I want to do is somehow query the selenium grid2 hub to get the number of free/idle/available browsers before actually running my tests on that particular grid setup. Based on my result I would redirect the tests to another grid setup (on another machine) or may be not even run the tests.

Of course I can add more nodes or even increase the number of browsers that can be handled by each node. But I am looking for an answer which will help me query the Grid and then allow me to decide on what action I can take rather than muscling my way by brute force (bigger server to handle more browser sessions).

I also sense that this may be a feature not implemented by Selenium Grid 2, so was wondering how others have got around this problem.

Upvotes: 3

Views: 2677

Answers (1)

shawnzhu
shawnzhu

Reputation: 7585

It provides sessions information from each selenium node in a selenium grid. You can get the session information of each node like this (assume your selenium node listens to port 5555):

$ curl http://<selenium-node>:5555/wd/hub/sessions

You will get a JSON object response like this:

{"value":[],"sessionId":null,"status":0,"hCode":1542413295,"class":"org.openqa.selenium.remote.Response"}

Then you can calculate how many active sessions from the "value" array value on each selenium node when it hits those nodes. Then you know how many left.

Upvotes: 2

Related Questions