Chintu
Chintu

Reputation: 49

How to Run multiple test cases at a time (in parallel) through robot framework

I have a test scenario , in which a portal has to be used by 20 users simultaneously and the performance of the portal has to be reported. for this to happen , i need to access the portal in 20 chrome browsers simultaneously.

Is this possible through robot framework ?? If so , how ??

Thanks in advance..

Upvotes: 0

Views: 6323

Answers (2)

Laurent Bristiel
Laurent Bristiel

Reputation: 6935

What you are doing is stress test, not functional test. Robot Framework is perfect for functional test, but will soon reach its limit for Stress Test. I would suggest to turn to a more appropriate tool for the Job. On my projects, I use Robot Framework for Functional tests and use Gatling for Stress Tests. It is quite easy to record a scenario and then have the tool run it for 20 users at the same time. You will get stress-tests oriented reports, and will easily move to more complex scenario of stress tests.

Upvotes: 2

Bryan Oakley
Bryan Oakley

Reputation: 386342

There is nothing built-in to robotframework to support parallel execution. It can be done but you'll have to do some work. For example, the simplest is to create a shell script (or batch script, or powershell script...) that simply calls robot 20 times in 20 processes, waits for them to complete, and then consolidates the logs.

When I googled on "robotframework parallel", the first hit took me to a library named Parallel, which advertises:

Library for executing tests in parallel from inside of a robot test case.

There is also pabot, which is "A parallel executor for Robot Framework test cases." This one has been discussed in the robotframework-users group here, among other places.

However, since you mentioned using chrome, I assume these use the selenium library. There is a limit to how many browsers you can have open on a machine, and the limit is below 20. So, you'll have to either run these tests on more than one machine, or set up a selenium grid that these tests can leverage so they aren't all opening browser windows on the same machine.

There's a wiki page showing a possible solution using grid here: Use Selenium GRID with Robotframework

Upvotes: 1

Related Questions