Reflect Mobile
Important
We introduced new credit based system. Go to How to Track Usage to learn more.
Native Mobile Testing
Reflect Mobile is a no-code test automation platform for native mobile apps, enabling users to test on real devices without writing code or relying on Appium locators. Instead, it uses computer vision and AI to drive and verify test steps, providing a modern and stable approach to mobile testing.
How Reflect Mobile Works
Reflect Mobile executes functional tests on real iOS and Android devices by interpreting AI-generated instructions in plain English. These test steps are either:
Recorded by interacting with the device during test creation
Written manually as English prompts (e.g., "Tap the 'Login' button in the center of the screen").
Instead of relying on fragile Appium selectors, Reflect analyzes the visual state of the app at runtime. This approach makes your tests more reliable and less prone to breaking with UI changes.
Reflect Mobile supports both native app screens and embedded web views, with no need for context switching. Tests can even be reused across platforms (e.g., Android APK and iOS IPA) if the user experience is consistent.
Upload App Files
To test your mobile app in Reflect, you must upload your application build files:
APK files for Android apps
IPA files for iOS apps
Reflect uses these build files to install the app on the device and simulate user interactions. The testing process can't begin until Reflect has a copy of the app to run.
If you're using a third-party device cloud (e.g., SauceLabs, BrowserStack), you’ll need to upload your app files to that platform so Reflect can reference them during test creation and execution.
Prerequisites for Using Reflect Mobile
To get started with Reflect Mobile, ensure you have the following:
Device Grid Access
You need access to a device cloud that provides real physical mobile devices.
Recommended: Reflect Grid (built-in support for hundreds of real devices)
Supported third-party grids: SauceLabs, BrowserStack, BitBar
App Build Files
Before creating or running any tests, upload your APK/IPA files to the device grid of your choice.
Setting Up Device Cloud Integrations
Reflect Grid (Recommended)
Request access. Navigate to Settings → Integrations, then click the "Request Access" button under Reflect Grid.
Go to Settings → Integrations. Click the “Upload Build” button to upload your APK/IPA file. You can also upload a build whenever you go to run a mobile test.
Third-Party Device Clouds
Upload Your App. Log into your device cloud console (e.g., SauceLabs, BrowserStack, BitBar). Use their interface to upload your app files.
Verify Integration after connecting your account in Settings → Integrations. Check if your builds and available devices appear in the test creation dialog.
Create Your First Mobile Test
Navigate to the
dialog and choose either iOS or Android.Name your test.
Select the appropriate app build and device.
Reflect will provision the device and install your app. This process may take 1–3 minutes depending on app size and network conditions.
Record Test Steps
By default, recording mode is enabled. As you interact with the app on the device.
Reflect captures clicks, swipes, and keystrokes as AI prompt steps
These steps appear in the left panel, written in plain English
You can edit each step to to better capture your intent by clicking into each description.
To manually add steps, click the + button in the test step panel and type your desired action.
Keypress Input
Reflect doesn't record keypresses directly on the device screen. Instead, when it detects an on-screen keyboard - usually after a tap - it displays a keypress input box at the bottom of the screen.
You can type and finalize your text in this input box, then send it to the device. Once you send the text, the app automatically hides the on-screen keyboard.
If Reflect can't detect the on-screen keyboard or your app is disabled, you can still enter keypresses. To do this, click the plus (+) icon in the bottom-left corner of the page and select
.![]() |
Validate Text
To validate on-screen text:
Drag a bounding box over the desired area.
Confirm the selection via the banner that appears at the top of the device screen.
Text validation works the same way as in Reflect Web.
Use Advanced Appium Commands
Reflect Mobile supports raw Appium commands for power users.
Example commands: mobile:
hideKeyboard
, mobile:setGeolocation
These commands are not blocked on Reflect Grid
Support for such commands on third-party grids may vary
Refer to UIAutomator2 methods (Android) and XCUITest methods (iOS)
Run Mobile Tests
Open the Test Library.
Filter by the
tab.Click on the test you want to run. Then, click
and re-select your app build and device.
You can choose to watch the test live or run it in the background.
Review Test Results
After a test run completes, you’ll see:
A video recording of the test execution
Step-by-step logs and outcomes
This makes it easy to diagnose failures and confirm expected behavior.
Test Suites for Mobile
You can include mobile tests in Test Suites.
Use the Run Mobile Tests action.
Select app build, device, and tests.
Enable parallel test runs if your account/device grid supports them.
This allows you to integrate mobile tests into your broader regression or CI workflows.
Mobile Testing
Test mobile-friendly responsive websites, PWAs, or hybrid-mobile apps.
Reflect gives you the ability to record and execute tests via an emulated mobile device. This allows you to create regression tests that simulate how your users experience your site from a phone or tablet. This can also be used to test hybrid mobile apps built with technologies like React Native.

Device Profiles
An option to select a ‘Device Profile’ is provided when you start a new test recording.

Each test must be associated with a single Device Profile, and this profile cannot be changed once the test is created. In addition to the default ‘Desktop’ profile, two mobile device profiles are currently supported:
Since a test can only be associated to one Device Profile, if you want to record a test scenario for both desktop and mobile devices, you’ll need to record the test for each profile individually. We realize this results in test duplication, but this limitation exists for a good reason. Web apps can often have divergent behavior depending on the user’s screen resolution, reported User Agent, or Javascript runtime. Creating a single recording that is resilient to all of these changes is often not possible, so instead we choose to isolate these differences into Device Profiles so that they are guaranteed not to change across test runs and so we can minimize the chances of false-positive test failures.
The Mobile and Tablet device profiles utilize Chrome’s built-in mobile emulation support and do not run on real mobile devices.
Need Help?
If you have any more questions, contact Reflect support.