6

Currently in our company we use Spinach as a BDD framework and test runner for our automated acceptance tests. We also use Selenium as a browser driver, Capybara as an additional layer on top of it and Ruby as a programming language for writing tests.

Unfortunately, Spinach (which is more or less similar to Cucumber) does not have parallelisation support out of the box. I was not able to find a decent 3rd party library as well, besides this one but it is a not a perfect solution because after parallelising the threads it is not gathering all the results back in one place which makes it being useless.

We have two repositories with tests, one of them takes 1h 30m to run and another one needs 50m for that. Both of those are ridiculous numbers. Unfortunately, we are not able to put efforts in rewriting our tests using another framework (like Cucumber or RSpec) because it will take too much time even with re-using already existing PageObjects.

So I'm searching for any possible solutions of running tests with Spinach in parallel.

  • Are you using a CI server to run your tests? – Johnson Nov 29 '15 at 16:13
  • 1
    Hi, yes, I'm using Jenkins to run the tests. So far the only solution I found is to use the several Jenkins jobs that run in parallel and spin up multiple vagrant boxes at the same time and each of those boxes runs one chunk of the tests. I'll write in more details about it here when I'll find time for that. – Artem Levik Nov 30 '15 at 11:50
  • No need. Unfortunately I think that's your best option and I wanted to check to see if you were doing it before I posted it as an answer. – Johnson Nov 30 '15 at 12:50
  • Yes I also came to conclusion that it is the only option available (besides writing own parallelisation library for Spinach). – Artem Levik Nov 30 '15 at 13:57
1

You can try parallel_tests solution.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.