What is the use of Genymotion?

My company is testing a wifi login portal using Selenium and wants me to perform load testing on the portal with multiple virtual devices.

What is the role of Genymotion in it?


EDIT: Swaathi is new on this forum and I guess she might not know that it's not advisable to post duplicate questions. Therefore, I'm copying the text from her other question here;

I am an absolute beginner in selenium automation tool.

My company wants me to perform testing on wi-fi login portal that requries load testing.

But I can't use JMeter to do so because each user request should come from a unique IP address and different platforms as well.

Each user request should be made with unique IP address and should be able to hit the portal at the same time.

Is there a way I can achieve this using Eclipse, Selenium Grid/Webdriver, Virtualbox, Genymotion?

And how do I increase number of virtual devices?

URL: Is there a way I can do performance testing using Eclipse, Selenium Grid/Webdriver, Virtualbox, Genymotion?

5 Answers 5


As per their website Genymotion is an Android development toolkit and emulator.

Selenium and Genymotion will help you with automating functional tests. Selenium is not a Performance/Load Testing tool.

For Load Testing purpose you should use other tools like JMeter or LoadRunner!

  • How can genymotion be used with selenium. Can selenium grid be used to simulate test on multiple devices? And can I test users logging in from various O.S using JMeter?
    – Leo
    Commented Aug 4, 2016 at 7:35
  • I haven't personally used Genymotion and Selenium Grid so don't have any idea about it. With JMeter you can generate a load from various systems using master-slave architecture, but for some reason the master and slaves all have to be running same O.S. You might want to check JMeter documentation if they have made any updates to allow master-slave architecture with different O.S. Commented Aug 4, 2016 at 7:48

You can do some quick tests with Selenium and some custom coding on reporting the time taken between steps. However this is not performance testing.

As suggested use JMeter if you want an open source Load and performance testing tool


Genymotion is an Android emulator where you can download multiple Android versions and run your virtual Mobile instance. You can do all the operations like installing App, configuration, connect to the mobile device using adb command line to get a shell and perform supported operations.

Genymotion Main Window

Android Interface in Genymotion

  • This doesn't really answer the question. Commented Aug 3, 2016 at 10:02
  • @TESTasy Hopefully it answers the "What is the use of Genymotion?" put up in first line of question. Commented Aug 3, 2016 at 16:55
  • Any idea how you would link it with the later half of the question? Commented Aug 4, 2016 at 2:51
  • Thanks for the answer,but how can genymotion be used with selenium to increase the load on a website.Should i use selenium grid for the same?
    – Leo
    Commented Aug 4, 2016 at 7:33

If you talking about load testing like "subset of performance testing" - you are looking at wrong direction as you won't be able to create more or less immense load with Selenium (unless you have few hundreds of computers in your test lab). Genymotion is just an Android emulator.

In order to produce the load I would recommend simulating traffic incoming from various mobile devices on HTTP protocol level using a load testing tool. Here is the list of free and opensource ones.

The easiest and the most popular seems to be Apache JMeter, it comes with the Proxy Server so you will be able to record mobile device traffic and replay it with increased amount of users and HTTP Header Manager which allows mimicking different devices by sending the relevant User-Agent headers.

  • Thanks for the answer.But how do I test my portal with different users logging in from different O.S. Like for example some might log in from mobile and some from desktop that runs on ubuntu,windows or any other O.S
    – Leo
    Commented Aug 4, 2016 at 7:31

Using full clients for performance testing is very resource expensive. It is also state-of-the-art as of about 1994. The more efficient path is to strip the communication from your app with the next upstream tier and reproduce this as a "virtual user" at the API level. These can be programmed. In many (but not all) cases the information can be captured from API hooking, logs or proxies to build a starting point for modification.

The skills needed for performance testing are very different than those for functional testing. You will be dealing with a lot of issues related to load models, user behavior, architecture, monitoring, systems analysis, etc... that do not come into play with functional testing. Your management is being a bit disingenuous to throw you at this task and ask that you deliver value for this effort, particularly when you are already new to automated functional testing and are trying to deliver value in that discipline.

It would be best to bring in someone who already has the battle scars in this area. This process pattern of throwing labor at a problem without the tools, skills or onsite engineering mentor to be successful never really turns out well for the client or the person delivering the test

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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