Best Practices for creating Selenium grid for large set of Test Suite

1,427 views
Skip to first unread message

Mahasak Pijittum

unread,
May 14, 2016, 10:26:46 AM5/14/16
to Selenium Users
We are going to redesign our setting of selenium grid to meet requirement for testing web site in parallel with around 10 Test Runner PC which each has around 1000 Test Suite at same time.

We did some test on our newly create Selenium Grid with 1 hub and 2 node to run at parallel level of 8 which mean each node will have 4 test suite running in concurrently.
What we face is disk i/o is increase and remain around 99% and cpu utilization is takes around 80 - 85 % and we faced unexpected result as 10-20% of test are failed by hub timeout.

Do any one had experience or recommendation on this scenario ? or Did any best practices for calculating a grid size available ?

Cheers,
Max

⇜Krishnan Mahadevan⇝

unread,
May 17, 2016, 11:14:25 PM5/17/16
to Selenium Users
Max,

In the past when I used to manage the Grid for my previous org, here's the setup that held up for us without much of issues :

Every node machine supported :
* 1 IE instance.
* 5 Firefox instances
* 15 chrome instances

To reinforce stability we built a self healing Grid as well, wherein the nodes would recycle themselves after they finish servicing "n" automation tests.

Sometime back I blogged about how to go about building a self healing grid. You can read more about it here.

This was one of the attributes that we wanted our grid to have when we built the SeLion Grid. You can read more about it here.

You can also look at what Groupon built in their Selenium Grid extras [ which also has this mechanism ]

Lastly with the arrival of Docker and its adoption by Selenium to create Docker images, things have moved into a totally new paradigm.

You can explore the docker implementations as well : https://github.com/seleniumhq/docker-selenium




Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to selenium-user...@googlegroups.com.
To post to this group, send email to seleniu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/selenium-users/b713a2a9-a591-4ddf-9273-53d3e888bc94%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Vikram

unread,
May 26, 2016, 6:25:27 AM5/26/16
to Selenium Users
+ 1 for docker approach with a powerful unix/linux server so you can have as many nodes as possible

Other practices I'm following is ; if you run test classes in parallel then limit number of test cases per class. After each run stop and remove container , again start with fresh containers

Regards,
Vikram

Shawn McCarthy

unread,
May 26, 2016, 9:37:01 AM5/26/16
to Selenium Users
Hi Krishnan,

Can you also provide the specs of the node machines? I am curious what other people use, with how many browsers. I use 4GB ram with 4 cores and allow 7 chrome instances.

Thanks.



On Tuesday, May 17, 2016 at 8:14:25 PM UTC-7, Krishnan wrote:
Max,

In the past when I used to manage the Grid for my previous org, here's the setup that held up for us without much of issues :

Every node machine supported :hou

⇜Krishnan Mahadevan⇝

unread,
May 26, 2016, 9:55:10 AM5/26/16
to Selenium Users
Shawn,
Its been more than 6 months since I left that org. So I don't recall the exact machine specs. But I think they were 24GB RAM machines [ I always felt that the machines were having a higher horsepower and were being under utilised :) ]

Your configuration should be sufficient enough and you should be able to push your chrome instances to maybe 10 because the chromedriver process and the chrome browser process are light weight when compared to firefox.



Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

Shawn McCarthy

unread,
May 26, 2016, 9:59:43 AM5/26/16
to Selenium Users
Awesome thanks !

ashish mathew

unread,
Apr 12, 2017, 1:38:14 AM4/12/17
to Selenium Users
Hi Krishnan ,,

AM using Grid and need couple of doubts to be cleared .

My XML config looks like :

<suite name="atepaca6" verbose="1" configfailurepolicy="continue" parallel="tests" thread-count="2" >


Here is the Test Config :


<test name="1" preserve-order="true">


<classes>


<class name="main.java.tests.factory.atepaca6.SurgicalScheduleManagement_Scheduling_Assessment"/>


</classes>


</test>


In Each Test I have 24 java files .Each Java Class has 5 Test cases .It is Open browser , Launch app and Close browser.


Am am creating an instance of 6 chrome browsers .


Now What is the exact use of Thread here .


Even if thread is 0 , my 6 instances opens up for each java class .


Please help me in understanding what is the importance of Thread if I have given 2 or 4 or 6 here .


How does it vary.

Reply all
Reply to author
Forward
0 new messages