Start debugging using virtualUSB desktop application

Learn how to start debugging using the virtualUSB desktop app so you can debug devices from anywhere.

You can also start a debug session using the virtualUSB command-line interface tool.
To install apps, use the Kobiton API endpoint or CLI command instead of a virtualUSB connection. The API and CLI handle larger apps more reliably.

Before you start

You’ll need to complete the following:

Start a virtualUSB session

Launch the virtualUSB desktop app.

A context to launching virtualUSB

Search for a device using the search bar and filter.

A context to search for a device

Select Connect to start a virtualUSB session using the selected device.

A context to connect a device

Once connected:

  • A virtualUSB session starts and appears in the Session List.

  • The device status changes to Utilizing.

  • The Connection Status column displays the value Connected.

A Connected device in virtualUSB

Repeat this step to connect to additional devices.

Check connected devices

  • Android

  • iOS/iPadOS

Open Android Studio.

In Android Studio, select Device Manager from the run configurations dropdown menu:

The Device Manager option in Android Studio

Select the Physical tab to see the list of connected devices:

The list of physical device in Android Studio

On MacOS, iOS devices connected via virtualUSB are accessible in Xcode:

The list of devices in Xcode

iOS/iPadOS devices cannot be seen in Finder but can still be accessed by Xcode normally.

View a virtualUSB session in Kobiton Portal

virtualUSB sessions are listed in the Session List and can be filtered by session type. Opening a virtualUSB session shows the session overview only. Video, device logs, and Session Explorer are not available for virtualUSB sessions.

Combine virtualUSB with a manual or Appium session

The user who connected a device through virtualUSB can also run a manual session or an Appium script on the same device. The sessions combine into one mixed session. The order does not matter: connect virtualUSB first and then start a manual or Appium session, or connect virtualUSB to a device already in your manual or Appium session.

Other users cannot start a session on a device connected through virtualUSB, and cannot connect virtualUSB to a device in another user’s session.

To observe what is happening on the device screen while connected to a device through virtualUSB:

  1. Sign in to the Kobiton Portal.

  2. Find the device and launch a manual session on the virtualUSB-connected device.

Copy the device UDID from virtualUSB and paste it in the search bar of the Kobiton Portal Device List.

Manual sessions will end after staying idle for a certain period of time. To prevent an accidental session end:

  1. Open the Manual Session Settings while in the manual session.

    The Manual Session Setting shortcut in a manual session

  2. Uncheck Quit session after staying idle for 10 minutes in the pop-up.

    The Quit session after staying idle for 10 minutes option disabled in manual settings

  3. Select Apply.

Disconnect a device

To disconnect and release a device back to the team, go to virtualUSB and choose Disconnect under the Action column:

The disconnect button next to a connected device in virtualUSB

Confirm the action by selecting Disconnect in the pop-up.

Any of the following ends the virtualUSB session:

  • Disconnecting the device in virtualUSB.

  • Quitting the virtualUSB app.

  • Terminating the session from Kobiton Portal.

When no other session is running on the device, the device status returns to Online.

If the session is part of a mixed session, ending the virtualUSB session does not end the other sessions on the device. The mixed session ends when no session remains on the device.

If virtualUSB stops sending keep-alive signals, the session ends automatically after an idle period.

Save log

To save a log of activities in virtualUSB, select the Save Logs icon:

The save logs shortcut in virtualUSB

In the next dialog, choose a time period from the dropdown list and click Save. A zip archive containing all the logs in the selected period will be downloaded.

The time period dropdown in the save logs pop-up

Considerations

  • A CLI session can start on a device already connected through virtualUSB, but the two remain separate sessions instead of one mixed session. Connecting virtualUSB to a device already in a CLI session is not supported.

  • Sessions that included virtualUSB cannot be converted to Test Cases.

  • The available actions depend on whether a device is connected through virtualUSB or retained in Kobiton Portal:

    • For devices connected through virtualUSB, Disconnect is available. This includes devices connected using the virtualUSB CLI.

    • For devices retained in Kobiton Portal, Connect appears instead. If you retained the device or are using it in a manual session, release it in Kobiton Portal before connecting through virtualUSB.

    • If another user retained the device or is using it in a manual session, Connect is unavailable.

  • Device retention in Kobiton Portal takes precedence over virtualUSB connections. Actions in virtualUSB do not release devices retained in Kobiton Portal.

    • No virtualUSB action cancels a retention made in the Kobiton Portal.

  • After selecting Connect, users may occasionally see the connection status change to Offline or Error before showing Connected.

  • If a user right-clicks on any part of the virtualUSB app and selects Reload, the user will be directed back to the login page and must sign in again.

  • Device connection status is not synced across machines when a user logs in to virtualUSB on different machines simultaneously.

  • When a device is connected via virtualUSB, and you restart the device:

    • The virtualUSB connection will be re-established.

    • The device status will be back to Retained until timed out.

  • The connection status of the devices may not sync between virtualUSB with UI and virtualUSB command-line interface (CLI). It is recommended to use only 1 interface of virtualUSB when connecting and disconnecting devices on 1 machine.

  • In the zip file exported using the save log feature, the created and modified date time of some of the files and folders are displayed incorrectly as January 1, 1980 at 12:00 AM.

  • iOS support on macOS and Linux:

    • iOS 12 through 14: contact Kobiton Support.

    • iOS 15 and 16: supported. These devices connect without a pairing step.

    • iOS 17.0 through 17.3: not supported.

    • iOS 17.4 or later: supported. On macOS, virtualUSB pairs these devices with the Mac automatically when they connect, which requires Xcode on the Mac.