Single Sign-On is available for Genymotion SaaS now!

Parallel tests with Appium and Genymotion Device Image

Prerequisite

First, you will need to enable and connect your devices to adb. To do so, please refer to Connect to ADB.

Start Appium server

Since Appium 1.7, it’s easy to do parallel testing using only one appium server. Before that, we had to start N appium servers in order to test N devices in parallel.

So let’s start an Appium server, simply using the basic command: appium

Write your tests script in Python

Note

We will use Python throughout this tutorial but you can use a different language if you prefer.

We’ve chosen to use Pytest as our test framework. It has several useful plugins like:

  • xdist: for running tests in parallel.
  • rerunfailures: for rerunning failed tests an arbitrary number of times to reduce build failures due to flaky tests

Here is a simple python script, please replace [instanceX_ip] values by the IPs of your instances:

For convenience, we will call this python script test_example.py.

How to run Python tests in parallel

If we run the python script as follows:

pytest test_example.py

pytest will execute tests on one device at a time. However, in order to have results as soon as possible, we need to execute all the tests at the same time. To do that, we can take advantage of the pytest-xdist plugin and run the following command :

pytest -n 3 test_example.py
  • -n : number of worker processes you want to use. Here we start the suite with 3 processes.

How to run Python tests in parallel with Java

A Riddle application is used for testing. It runs 2 same tests on 2 devices. The application needs to be already installed on the device but you can change those 2 lines to capabilities.setCapability(MobileCapabilityType.APP, $PWD/Apps/appriddle.apk); where $PWD is the absolute path where your project is located.

Configuring devices used for testing is there. Replace the udid by the ADB serial number of the device.

Run the tests :

  1. Start the devices and connect it to your computer/CI server
  2. Start Appium server: appium
  3. Run project: mvn test

To see an example of:

  • test sharding (splitting a set of tests and run each batch on several devices), please refer to the test_sharding branch
  • implementing retries to avoid flaky tests, please refer to the flaky_tests branch

Table of Contents

Select Product Portal

SaaS Platform

Access to our SaaS solution and use virtual machines in the cloud on any web browsers.

Or

Or

Desktop Platform

Access to manage your Genymotion Desktop licenses, your invoices and account information.

Select a Cloud provider Marketplace

How to get a quote for multiple Business Licenses?

  1. You need a Genymotion Desktop account. If you haven’t one yet, you can create it here.
  2. After creation and activation, or if you already have an account, follow this link.
  3. Add the number of desired licenses to your shopping cart and click “Continue to Billing”
  4. Add a shipping address, or select one if you already created one.
  5.  In the next page, click “Get a quote”:
    Payment details
  6. A quote will be automatically generated in PDF format.

Genymotion Device Image for Cloud providers
- Private Offer -

Genymotion Device On-premise
- Contact Us -

Genymotion SaaS
- Increase Maximum Simultaneous devices -

Genymotion SaaS Annual Plan
- Get a Quote -

Genymotion SaaS Premium Plan
- Get a Quote -

Personal Use - Free

Genymotion Desktop for personal use is not suitable for trial or POC: you will not get any assistance and some features will be disabled. If you have already selected “personal use” and wish to get a trial license, please contact our Sales at [email protected].

Technical support is not available with Genymotion Desktop free edition for personal use. For more details, please refer to Genymotion conditions of use (Personal Use).

The following features are not available in personal use mode:

Follow these steps to get Genymotion Desktop and activate personal use mode:

  1. Go to the Download page and get the latest version for your system.
  2. Follow the instructions from Genymotion Desktop quickstart guide to install Genymotion Desktop.
  3. Launch Genymotion and click CREATE to create an account. You should receive an activation email within an hour. If not, make sure to check your spam.
  4. After activating your account, return to Genymotion and log in with your credentials.
  5. Select personal use when prompted.
  6. Read Genymotion Desktop quickstart guide carefully to setup Genymotion for your needs.

Indie Plan Application Form

This plan is strictly reserved to individual workers (freelancers, self-employed).

Educational Plan Application Form

The Educational plan is restricted to:

  • schools, teachers or students who wish to use Genymotion Desktop for tuition
  • students who wish to use Genymotion Desktop for a school project

It is subject to valid proof (student card, teacher card, etc.)