node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



Run your unit tests on Android, iOS, etc using Apache Cordova


Install karma-cordova-launcher as a devDependency in your package.json:

npm install karma-cordova-launcher --save-dev

Note: This plugin currently depends on cordova being on your PATH. You can install cordova globally by:

npm install -g cordova


This launcher is typically used to test your unit tests locally on a mobile device emulator. It is expected that you are already familiar with Karma when configuring this launcher, so if you are new to Karma, head over to the Karma website.

Adding karma-cordova-launcher to an existing Karma config

To configure this launcher, you need to add the cordovaSettings property to your top-level Karma config. The browsers array needs to include Cordova.

The cordovaSettings object defines global settings for Cordova. Here is a sample Karma config to get the launcher running:

module.exports = function(config) {
  // Example set of mobile platforms to run on Cordova 
    // The rest of your karma config is here 
    // ... 
    cordovaSettings: {
      platforms: ['android', 'ios'],
      mode: 'emulate',
      hostip: '',
      target: '0468de2a213eae29',
      plugins: [
    browsers: ['Cordova'],
    reporters: ['dots', 'progress']
    singleRun: true

mode can be either 'run' or 'emulate' (emulate by default), target is used to specify a target device (optional), hostip is the ip of the machine running the karma server as accessible from the emualted/physical device (the default one used by the Android emulator is used by default, for Genymotion use

Example karma-cordova-launcher configs

For example configs using this launcher, check out the Grunt and Karma configuration for freedom-for-chrome

cordovaSettings config properties


Type: Array of String Default: []

An array of Cordova platforms to test on. For valid values, see Cordova Platform Support


Type: Array of String Default: []

An array of Cordova plugins to install. For valid plugins, see the Cordova Plugins Registry

Runtime FAQ

  • What platforms have been tested?
    • Android L on Ubuntu 14.04LTS with Cordova 3.5.0
    • Must set an SD card and "Use Host GPU" in device settings
  • Where is the Cordova project generated?
    • The project is stored here: /tmp/cordova_test/. Delete it to start fresh