> For the complete documentation index, see [llms.txt](https://docs.qapilot.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qapilot.io/getting-started/set-up-qapilot/cloud-device-recording-and-execution.md).

# Cloud Device Recording and Execution

## Cloud Device Recording and Execution

QApilot lets you record and automate mobile tests on supported cloud-hosted devices. Upload an Android APK or iOS IPA, configure a cloud provider connection, and start a recording session.

Cloud recording creates reusable mobile test steps without manually writing test code. A provider connection supports one simultaneous test session by default.

By default, Cloud Device Provider allows users to run a single testing session simultaneously. If you need to run multiple testing sessions simultaneously across different devices, browsers, or operating systems, contact the team through the [QApilot website](https://qapilot.io/) to discuss your requirements and upgrade options.

### Software Required For Cloud Recording:

APK/IPA File is Required (according to the selected OS):

1. **An Android APK**: An APK file (Android Package Kit) is the file format used by the Android operating system to distribute and install apps. It contains all the elements necessary for an Android application to be installed and run on a device.
2. **IOS IPA**: An IPA file (iOS App Store Package) is the file format used by the iOS operating system to distribute and install applications on iPhone, iPad, and iPod touch devices. IPA files are specifically designed for Apple devices and can only be installed on devices running iOS, iPadOS, or macOS (with some modifications).

## How to Connect to the Cloud Device?

### Prerequisites

Ensure you create a [Project](/ai-and-core-concepts/projects.md). Logging into the QApilot UI is a prerequisite for accessing the Projects Menu. The Projects Home page is the first screen shown after the respective user's successful login. Click the Project card to make the changes or [Create a New Project](/ai-and-core-concepts/projects.md#how-to-create-a-new-project).

1. Click on the Project Card. Select the Recorder option from the Configurations list.\ <br>

   <figure><img src="/files/TSMBRVUUtPqNn1kqquQr" alt=""><figcaption></figcaption></figure>
2. The first step is to set the Connection type—selecting the kind of Environment, Cloud or Local.\ <br>

   <figure><img src="/files/TquvHJlJZcnInQpYK0VQ" alt=""><figcaption></figcaption></figure>
3. Select the kind of Environment, Cloud or Local. Please select Cloud Devices.

<figure><img src="/files/ZSG4Jh1qYGz0wt0y6qLm" alt=""><figcaption></figcaption></figure>

4. Choose Cloud Devices. The Operating System(OS) (Android/IOS) will appear as follows. Select your choice based on the Device to be tested.
5. Configure Cloud Device Provider Integration. Add New and it redirects to the below window:

<figure><img src="/files/nAeuUPjoA3jx8e5Ov1Nj" alt=""><figcaption></figcaption></figure>

6. As you can see, the **QApilot** supports integrations with several third-party tools, including Browser Stack, testrail, JIRA, Sauce Labs, Microsoft Teams, and Slack. Configure Cloud Device Integration. Enable Browser Stack for your integration. You can click on [Integrations](broken://spaces/f7DuCvkprTM62hS3tKQF/pages/k71vcGDL62El4vhKwFIW) to integrate with various other tools.

Browser Stack is a cloud-based cross-browser testing platform that allows admins/users to test their mobile applications across different browsers, operating systems, and devices. It provides a wide range of real, physical devices for testing, along with automated and live interactive testing capabilities. This helps developers and QA teams ensure their products are compatible and function properly across diverse environments.

<figure><img src="/files/u1bZXOhATqOm8wZ8FUxO" alt=""><figcaption></figcaption></figure>

7. Click on Yes to integrate for this cloud device.

<figure><img src="/files/BxmNnXWgvHpHesUMoBLg" alt=""><figcaption></figcaption></figure>

8. Select Appium Version as currently, the **QApilot** is running on the latest version v1.22.3.
9. Select your Device from the dropdown, and click Next.

In this Step, select App & Testcase and the Page where the Test Case is applied.

App name is the Application Name. The module is a scenario or functional need served by the App. Test Cases are the aspects to check the functional ability of the app for real-time scenarios. Page is the screen/location where the whole functionality is implemented within the app.

<figure><img src="/files/Y4KNh2CPTakNywDmZYoc" alt=""><figcaption></figcaption></figure>

Select the OS (Android or iOS) and the app you want to test. The app names will be displayed. Choose the Application Name for the app you wish to test.

It is a general configuration in any Application that, depending on the App Source, the Modules are synced and displayed in the Module dropdown. The Test Case dropdown displayed only those scenarios relevant to the opted Module. Pages are displayed only related to the App Source and Module. App Source, Module, Test Case, and Page are designed to be in sync concerning the functionality or the feature of the App.

10. Select App and Test Cases. When you click on APP, it will redirect to the below screen.

<figure><img src="/files/9vnIPqa1wQ4t0XN6Tk1x" alt=""><figcaption></figcaption></figure>

11. As you can see above, Enter the Title.
12. As the Test recording is for a cloud device, Select the location as a cloud.
13. Select service from the dropdown. Cloud Device Integration before the App upload
14. Here, We need to upload the APK/IPA file as we selected Cloud Devices. It is mandatory to note that, for Cloud Devices, an **APK/IPA file** should be provided.
15. As we have selected for Android, Once we upload the APK file\*\*,\*\* the Package Name and Version Name will automatically be fetched.
16. Click on the Launch button to initiate a session on the selected device.

<figure><img src="/files/vEVTE1pIE2Ww8V5ttfcG" alt=""><figcaption></figcaption></figure>

17. For Module:

Create Module

<figure><img src="/files/QCXGAyuyIv9ZTlmpJCrU" alt=""><figcaption></figcaption></figure>

18. Create a Test case and click on the Create button.

<figure><img src="/files/JKFp69lFKJZ2lJhWqZzz" alt=""><figcaption></figcaption></figure>

19. For Page:

Page Title

<figure><img src="/files/keBCiZXBKCM9wHx5whIC" alt=""><figcaption></figcaption></figure>

20. VPN Required is optional. If a VPN is required, then a local executor should be running.

<figure><img src="/files/aWVes1WH7bFaW9EtfwxV" alt=""><figcaption></figcaption></figure>

21. Click on Launch to establish a connection to your Cloud device.

<figure><img src="/files/pDHJ82D5PuhfwfiLHxlr" alt=""><figcaption></figcaption></figure>

22. The device will be successfully connected and the below Recording Screen will be displayed.

<figure><img src="/files/A4WFBIsGBviZF4dbP9gu" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Vm0HzWyNgzJCoXPvHhtu" alt=""><figcaption></figcaption></figure>

### Record Flutter Apps with Flutter Driver

When starting a recording session, select **UIAutomator2** or **Flutter Driver** to initialize the session with the correct dependencies.

* The default recording mode remains UIAutomator2 (standard context) unless a specific type is selected.
* Selecting Flutter triggers the session with Flutter-specific dependencies, using the same initialisation logic as standard sessions.
* This option is available on the recording setup screen before a session begins.

<figure><img src="/files/sYxEoV8VHEw2KcZalX4H" alt=""><figcaption></figcaption></figure>

### LambdaTest Fingerprint Authentication Support

Fingerprint authentication can be bypassed during recording and execution on LambdaTest. This supports test flows that include a fingerprint-gated identity module without manual intervention.

#### How it works

* When a fingerprint authentication prompt is triggered during a test flow, a dummy screen is rendered in its place, allowing the user to proceed with testing.

**Supported authentication type:** Fingerprint

> **Note:** This capability is currently available on LambdaTest only.
