# mobile-battery-benchmark
[![Build Status](https://travis-ci.org/tniessen/node-mobile-battery-benchmark.svg?branch=master)](https://travis-ci.org/tniessen/node-mobile-battery-benchmark)

Developed at *Heise Zeitschriften Verlag GmbH & Co. KG*.

## Installation and updating

Only [node](https://nodejs.org/) along with [npm](https://npmjs.org/package/npm) is required to install and use this tool.

    npm install --global mobile-battery-benchmark

You can use the same command to update the package. Since version 0.1.6, a notice will be shown at the top of the control interface if a new version is available (unless `allowUpdateCheck` is set to `false` in the configuration file).

## Running

You can run the tool by executing

    mobile-battery-benchmark [config path]

If you do not specify a configuration file, `config.json` in the working directory will be used.

To automatically open a web browser with the control interface, add `--gui`:

    mobile-battery-benchmark --gui [config path]

In order to create a new configuration file, add `--init` when starting the program, e.g.:

    mobile-battery-benchmark --gui --init [config path]

## Control server

By default, a control web interface will be launched on port 5000. You can change the port in the configuration file.

The control interface allows you to see connected devices and their status and to create, edit and start simulations. If supported by the connected device, a battery graph will be shown beneath the device details.

At the top of the list of connected devices, click "Show network addresses" to show the URLs of the content server with the associated network interfaces and address families.

## Content server

The content server (default port 5001) serves content to connected mobile devices. You need to open the root directory in a mobile browser to allow remote control via the control server. The device should appear in the device list of the control interface.

## License

Copyright (C) 2016 Heise Zeitschriften Verlag GmbH & Co. KG

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

### Mobile-Detect

We use [Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) to identify devices. The required files will be downloaded automatically and are licensed under the MIT license.  
You can set `useMobileDetect` to `false` in the configuration file to prevent downloading and using Mobile-Detect.
