Parallel Execution of Unit Tests

Hi,

I’m using Ruby’s Test::Unit framework to drive some functional tests
which use Selenium to perform E2E scenarios against a web app in a
real browser. As one can easily imagine, running a large suite of
browser-based tests in serial can take ages, so I’m looking for a
practical way to parallelize these tests and run a bunch of them at a
time until they are all done.

I’ve looked briefly at DeepTest for Ruby, which won’t cut it, as far
as I’m concerned. What I would really like come across is a solution
along the lines of the parallel execution support provided by the
TestNG framework for Java unit tests.

Any suggestions, direction, or comments regarding my approach would be
appreciated.

Thanks!

On Mar 17, 2:13 pm, Phlip [email protected] wrote:

Phlip
http://assert2.rubyforge.org/

Really none of them, unfortunately. This specific domain of tests are
designed to be a sort of automated acceptance test to be carried out
following a deployment of the app, from an end-user perspective. Thus
the need to simulate “real world” interactions, starting from a
browser and essentially excersizing each layer of the stack in an end
to end manner…

have you tried selenium grid?

Yeah, I’m actually utilizing Selenium Grid for the client side of it.
I have a Grid farm all set up and configured, and several teams run
nightly Selenium test suites against it without issues. The problem
is that Grid doesn’t provide for a means of actually driving tests in
parallel – it only serves as a matrix of Remote Controls (browsers)
for your tests to run against. The advantage of this to me right now
is that several test suites can be running simultaneously, and the
Grid Hub will take care of allocating each test to an available
environment. However, the suites themselves are still running
serially, one test after another.

What I need is a way for a complete test suite to be executed in a
multi-threaded fashion, I guess.

wade

wade wrote in post #648055:

Yeah, I’m actually utilizing Selenium Grid for the client side of it.
I have a Grid farm all set up and configured, and several teams run
nightly Selenium test suites against it without issues. The problem
is that Grid doesn’t provide for a means of actually driving tests in
parallel – it only serves as a matrix of Remote Controls (browsers)
for your tests to run against. The advantage of this to me right now
is that several test suites can be running simultaneously, and the
Grid Hub will take care of allocating each test to an available
environment. However, the suites themselves are still running
serially, one test after another.

What I need is a way for a complete test suite to be executed in a
multi-threaded fashion, I guess.

wade

Hi wade,

have you tried TestNG with testng.xml and:

It should do the trick for Selenium Grids!

Bye
Gerrit