logo logo

Setup Private Mobile Device Farms with Remote Control & Mirroring Capabilities


In this post, we’ll discuss how you can easily setup your own private mobile device farms (using both physical devices and emulators) while utilizing TestProject technology. The device farm you are going to setup using this tutorial will allow your team members to access devices and emulators/simulators remotely, without installing anything on their end. They will have remote access & control of the devices, be able to see the mirroring of the device screens, perform tap and swipe operations, and much more 💪

This capability is built into TestProject’s feature set for executing test automation, but some users utilize this not necessarily for execution but rather for manual device control. Therefore, we’ve decided that it might be a valid use case worth mentioning in the post as well 😉


  1. Create your TestProject account here (no worries it’s FREE).
  2. Invite your teammates to your account so that they can access your lab.
  3. Download TestProject Agent to your desktop that will be used as your Server (can be MAC/Linux/Windows 10/VM).
  4. A physical device iOS/Android or Android studio/XCode simulators/emulators.
  5. Have the same LAN/VPN – “Ping” between the user’s desktop that wants to access the phones/emulators, to your server that the mobile devices are attached to (or that the emulators are running on).
  6. The remote control browser will communicate with the Agent through a secured 8433 port.

Setup Your Mobile Device Farms

Setup the desktop that will be used as your server:

  1. Download and install the latest TestProject Agent here to the machine that will be used as your server.
  2. Register the Agent to your account: simply make sure that you are logged in to your TestProject account where the Agent is running, go to the Agents tab, click on “Register” and give your Agent a name. It will be registered automatically to your account.
  3. Plug in your mobile device via a USB cable to the machine the Agent is running on:
    • For Android devices you should enable the developer option. Authorize the device to be used with TestProject (click “authorize” on the a pop-up window).
    • To use iOS devices or benefit from automating iOS on Windows (without the need for a macOS), you will need to have an Active Apple Developer account (follow the instructions here to create a provisioning profile).
    • If you are using an emulator with Android studio, make sure your emulator is up and running and TestProject’s Agent will detect it as a physical device.
    • If you are using iOS simulators with XCode, nothing needs to be done 😎 The TestProject Agent will detect it as a physical device.

❗ Note:

  1. You can add more than one physical device to a single Agent or use a mix of physical devices and emulators/simulators.
  2. You can change the default secured port from 8443 to another port on the Agent’s side, locate the agent-configuration.json file, change it there and reset your Agent.
  3. You can setup multiple “servers” within your account by registering multiple Agents that run on different desktops or VMs.

Remote Control of Your Mobile Device Farms

To access devices remotely, simply follow these quick steps:

1) Invite team members to your account: Use the Share Center within your TestProject account to invite the teammates via email. That way they will have access to your mobile devices through their own web browsers.

Invite Teammate to TestProject Account

2) The team members are not required to install Agents or any other 3rd party components to access the devices. Once the teammate is part of your TestProject account they will be able to access the devices/emulators/simulators remotely.

❗ Please note: The teammate’s desktop should have a ping to the server you’ve established, meaning he should be within the same LAN or VPN.

3) To gain remote control access to the mobile device farm, the teammate needs to login to the TestProject account, go to the Agent’s tab, select the “server” Agent and click on the mirroring icon (the eye seen in the screenshot below 👁) near the desired device.

TestProject Mobile Device Mirroring

The Architecture of Private Mobile Device Farms

Below is a detailed architecture of how your private mobile device farms would look like, according to the detailed setup described in this post.


What are you waiting for? Go ahead and start a seamless journey to mobile testing alongside your team, effortlessly, no matter where you are in the world 🌏🌟


About the author

Mark Kardashov

Test automation enthusiast, entrepreneur, snowboard fan and CEO of TestProject. Has more than 10 years of experience in the testing and test automation field.


26 3 comments
  • José Torrecilla Álvarez June 21, 2021, 12:09 pm

    Hi! Using this kind of setup, Is there any way to record a test using a “remote” agent? I’ve been trying to do this, but in a recording session TestProject always asks me to start my “local” agent.

    • Mark Kardashov June 21, 2021, 1:24 pm

      This setup is for remote control of the device and manual access only. If you need to record on a remote agent you will to have RDP access.
      obviously for execution on remote agent you don’t need any of it, TestProject supports it out of the box.

  • Karthik R May 22, 2022, 3:03 pm

    Hi @MarkKardashov,
    How to install an app in a device located in remote device farm?

    I have a private mobile device farm setup(with some android devices) in machine A, now I need to install an app(apk) and access an android device in machine A from machine B. I’m able to access the device, but I’m unable to install app to Machine A from Machine B

Leave a Reply