Skip to main content

Mobile App Testing

QA.tech supports testing native iOS and Android applications using the same AI agent that powers web testing. The agent interacts with your app through touch gestures, hardware controls, and deep links - covering the full range of user interactions on a mobile device.

Network Access

QA.tech test runs originate from a fixed pool of IP addresses. If your app connects to a backend that has a firewall, VPN gateway, IP allowlist, or rate-limiting rules, you must whitelist these IPs to allow test traffic through.
Without whitelisting, your tests may fail with network errors, timeouts, or unexpected login failures even though the app itself works fine.

QA.tech IP Addresses

Find the current list of mobile testing IP ranges in the app under Settings → Network — see the Mobile Testing IP Whitelist section.
Mobile testing uses a different set of IP ranges than web testing, so the Outbound IPs API does not cover them. IP addresses may change — always use the live Mobile Testing IP Whitelist in Settings → Network as the authoritative source.

How to Add the Whitelist

Add the IP ranges from Settings → Network to your security system’s allowlist. The exact steps depend on your setup — see the IP Access Control guide for platform-specific instructions covering Cloudflare, AWS CloudFront, and other firewalls. Common places to add these rules:
  • Backend firewall or security group (AWS, GCP, Azure)
  • API gateway rate-limiting or allowlist rules
  • VPN / zero-trust gateway (e.g. Tailscale, Cloudflare Access, Zscaler)
  • Mobile backend service IP allowlists

Test Environments

Mobile tests currently run on cloud-hosted iOS Simulators and Android Emulators. Real device testing on physical iOS and Android hardware is coming soon and will be selectable through device presets.
EnvironmentStatusDescription
Cloud emulatorsAvailableiOS Simulator and Android Emulator in cloud
Real devicesComing soonPhysical iOS and Android device testing
The device model and OS version used for a test are selected automatically based on your uploaded app build. Device selection through device presets is coming in a future update.

Preparing Your App Build

Mobile testing requires a simulator or emulator build of your app, not an AppStore or Play Store distribution build. Follow the steps below for your platform.
Prepare an iOS Simulator build (.app file compressed as .zip or .tar.gz). AppStore distribution builds (.ipa) are not supported - they are device-specific and cannot run on simulators.

Build with Xcode

Run and build your application in Xcode while targeting an iOS Simulator.Once the build is complete and the app is running in the simulator, locate the .app file:
  1. In Xcode, go to ProductShow Build Folder in Finder
  2. Navigate to Products/Debug-iphonesimulator/
  3. Find your .app file

Build with Xcode Command Line Tools

xcodebuild -project '{project_name}.xcodeproj' \
  -scheme '{scheme_name}' \
  -sdk iphonesimulator \
  -configuration Debug
The .app file is output to:
build/Debug-iphonesimulator/

Compress the .app file

Once you have the .app file, compress it before uploading:
zip -r AppName.zip AppName.app
Upload the resulting .zip (or .tar.gz) file - not the raw .app directory.

Setting Up a Mobile App in QA.tech

1

Create a Mobile Application

In your project, go to Applications and create a new application. Select Mobile App as the application type.
2

Add an Environment

Add an environment to your mobile application. Select the platform - iOS or Android - and give the environment a name (for example: Staging or Production).No URL is required for mobile apps.
3

Upload Your App Build

Upload your app build file:
  • iOS: .zip or .tar.gz containing your .app simulator build (max 4 GB)
  • Android: .apk file (max 4 GB)
4

Create and Run Tests

Create tests for your mobile application. The AI agent will interact with your app using touch gestures and device controls.

AI Agent Capabilities

The agent interacts with your app using the following actions:

Touch Interactions

ActionDescription
TapTap at a specific point on the screen
Double tapDouble-tap at a specific point
Long pressPress and hold at a point for a configurable duration
SwipeSwipe from one point to another
TypeTap a field and type text
Clear and typeClear an existing field value, then type

Device Controls

ActionPlatformsDescription
Home buttoniOS, AndroidPress the device home button
Back buttonAndroid onlyPress the Android back button
App switcheriOS, AndroidOpen the app switcher
Launch appiOS, AndroidLaunch an app by bundle ID or package name
Close appiOS, AndroidClose the current app
Open URLiOS, AndroidOpen a URL or deep link
RotateAndroid onlySwitch between portrait and landscape
Volume up/downiOS, AndroidPress hardware volume keys

Requirements

Mobile testing is enabled per organization. Contact support to enable mobile testing for your account.