HeadSpin Documentation

Remote Functional Testing



HeadSpin Remote Functional Testing™ gives you access to devices connected to mobile networks around the world right from your web browser. It seamlessly integrates into your existing workflow and allows you to test your app without requiring code changes.

Getting Started

With a HeadSpin account, you have access to HeadSpin Remote Functional Testing, our browser-based interface for testing your app around the world. HeadSpin Remote Control transforms your browser into mobile devices for remotely controlling mobile devices around the world. Whatever you can do with a device in your hand, you can do with HeadSpin Remote Control. By default, navigating to the Remote Control tab will take you to the Devices page specifically.

  1. Create an account and we will send an confirmation link to your email address.
  2. If you don’t receive a confirmation email, please check your spam folder.
  3. Once you create an account, navigate to the HeadSpin URL.
  4. Select a location: regions currently hosting devices for your organization will be displayed in the Hosts tab at the center top of the screen. Click on the regional host machine from which you wish to select devices.
  1. Select a device: A list of devices available from your selected host will appear. If a device is available, the interactive Start button will be displayed; if the device is unavailable, it will be marked Busy.

Remote Functional Testing

App Navigation Tabs

  • Host List Tab: When you open HeadSpin Remote Functional Testing, the first area you will see is a list of locations. These are the testing locations available to you during your trial (many more locations are available for HeadSpin customers).
  • Device List Tab: Within the Device List area, you will find all of the devices that are available to you during your trial. If you prefer to select a specific device to test on, you can choose a device from the Device List. Once a device has been selected it will be add to your device tray in the Controller View.
  • Remote Controller View Tab: The Controller View tab is where you interact with real mobile devices. This tab is where you run manual tests and connect to ADB for automated testing. This tab will only be active once you have connected to a device.

Host List Tab


The Hosts tab shows you all locations where you currently have access to mobile devices. Each row represents a host, and hosts are grouped into regions. To view the device list of a host, click on the host information to navigate to the Devices tab, with the host you clicked on now selected as a filter. You can also search for a specific host on the Hosts page using the search bar at the top of the page.

On the left of each row is the country flag, the city/country name, and an icon representing the OS type at this host (Android or iOS). To the right is a notes section for each host. Network connectivity varies all over the world. In the notes section, our support team can leave messages for you about the network status of each host. As a team admin, you can leave messages for your teammates here too.

Device List Tab


The Devices tab shows you the devices you have access to within HeadSpin hosts. From here, you can search for devices, start using devices, and add devices to your tray for quick use in the future.

Each row in the Devices list represents a single device. Available info includes the device's location, model, carrier, operating system, and current connectivity. To see all device information, scroll to the right within the Devices window to see all columns. To select which columns are displayed, you can click the Filter Results icon in the upper-right corner of the Devices list and open the Select Columns menu. Some columns are hidden by default. To exit the menu, click the Filter Results icon again.


As with the Hosts page, a search bar for devices at the top of the page lets you search for specific devices. You can search by location, model, carrier, OS, device note, or any other column you can see.

Click on the Start button beside your chosen device to begin controlling it.

Remote Controller View Tab


The Controller View tab is where you interact with a real mobile device. From here, you can send touch and keyboard events to the device, upload APKs, and connect a remote device to your local ADB.

On the left side of the Remote Controller View is the real-time, interactive view of your connected mobile device. Click and drag to send touch events to the device, and use your computer's keyboard to type into mobile text inputs. On the right you will find additional tools for controlling the device; by default you will see an overview of the device in the right pane, and beside it, a series of tools in a vertical bar running along the side of the pane. From here you can quickly open a URL in the default web browser, drag and drop to upload and install an APK, or paste and run the adb connect command to connect your local adb. This is also where the Appium Inspector Integration can be found if you launch a device with Appium from the Devices list.

In the top-right section of the Remote Controller View is the Start Recording Session button. Clicking this will begin a recording of your manual test session, which can be reviewed later in the Performance Sessions section. When you are done using a device, you can simply click the red X in the upper-right corner of the Remote Controller View to simultaneously release the device and close the Remote tab view. Alternatively, you can click on the Stop Using button in the Device Tray at the bottom of your screen.

Device Tray


The Device Tray keeps track of devices you've used and are using. From the tray, you can quickly start or stop sessions on multiple devices, and you can open up two devices to use side by side at the same time.

To add devices to your tray, click on the plus button to the left of a device from the Devices page. Once the plus sign is clicked, it will change to an 'X' icon in the Devices list, which highlights in red when you hover over it with your cursor. Clicking the 'X' removes the device from your tray.

Click on a device card in the tray to start using it. Click on another card to put another device in use. As you toggle between devices, notice that each device stays in use until you click on 'Stop Using'. Keep in mind that while you are using a device, no one else on your team is able to use that same device.

To use multiple devices in a side-by-side view, start using both of your selected devices. When hovering over the devices in your tray, three grey buttons will appear at the bottom of the device card. These three buttons indicate relative placement of the two devices; you can select which sits to the right and which to the left of your view using these buttons. Clicking the gray center button will remove the other device from side-by-side view. When two devices are open at the same time, the Device Tools panes are hidden.

You can click the clear button in the upper-right corner of the tray to remove all devices from your tray. This can only be done when you are not actively using/connected to any of the devices in your tray.


Remember, when you are done using devices, click on any visible Stop Using buttons to free them up for use by other people on your team.

Connect to a Device from the Command Line

All HeadSpin Android devices have Android Debug Bridge (ABD) built in. ADB is a versatile command-line tool that lets you communicate with a HeadSpin device remotely. The adb command facilitates a variety of device actions, such as installing and debugging apps, and it provides access to a Unix shell that you can use to run a variety of commands on a device. For more info on Android Debug Bridge, see the Android Documentation: here.

To connect an Android device:

  1. Open the Remote Control page.
  2. Follow steps 4 and 5 under Getting Started at the top of this document.
  3. Now, within Remote Control, you can interact with a live phone and test with it. If you need ADB command line access, navigate to the tools palette on the right-hand side of the screen.
  1. Find the tool palette called “Remote Debug”. Run the command that appears in the input field in your terminal/command line tool. Keep in mind you will need our CLI tool to run this command; you can download it from User Settings.
  2. To list the connected device information, use the command:

<code class="dcode">$ adb devices -l</code>

  1. The connected device will appear. Example: