cancel
Showing results for 
Search instead for 
Did you mean: 

Forcing Alfresco Benchmark tests to use selenium grid vs benchmark server

dbiggins
Star Contributor
Star Contributor
I am using the Alfresco Benchmark tests to simulate load and do some regression testing with some success.  Using the latest benchmark tests for share and cmis, I can create and run several tests, where everything (benchmark components AND selenium driver / browser instances) runs on the benchmark server.

I would like to be able to use a selenium grid to pull the browsers off to one or more other servers.  I can set up the selenium grid, where I have 1 or more nodes talking to a selenium hub.  I am pretty sure they are talking because they all post messages to stdout when a node or the hub are brought offline / online.  I can also run the hub console, and see the nodes and their config options.

The problem occurs in getting the benchmark tests to use the grid.  There is an entry in the share benchmark test for specifying the 'Selenium grid URL', and I am putting the url of the hub (http://hubserver:4444/wd/hub), but it doesn't seem to use it.  There is also an option for 'Run with local Selenium grid', but setting it to true or false doesn't seem to make a difference.  The tests will run, but all browser instances will launch on the benchmark server

Do I need to do anything else to tell a benchmark test to use a grid?  Any good places to look for logs?

Thanks all!
Dan
1 REPLY 1

dbiggins
Star Contributor
Star Contributor
I had been looking to split this out using a selenium grid, but another option would be to use a single Benchmark server, and multiple load driver servers.  The tomcat instance on the benchmark server only has the 'alfresco-benchmark-server-2.0.5.war' deployed, and the tomcat instances on each of the load driver servers has the test app, like the share and cmis test app. 

The test apps on the load driver servers can talk to the mongo instance on the benchmark server, so the benchmark server know where to spin up browser instances during test runs.

Non-gui tests like cmis wouldn't need the selenium drivers loaded, and would run in Tomcat, but the Share test's inclusion of a 'Selenium Grid URL' seems like there is a selenium-specific approach to scaling the tests, and not just creating another load driver server / tomcat instance.

So I feel like I am missing something pretty basic.  Does anyone have any experience load testing Share with the Benchmark server tests across several test servers?