Create a Mobile load profile for Android or iOS apps
Overview
A Mobile load profile load-tests native and hybrid Android and iOS apps through Appium, on Core Agents. Each Core Agent runs one or more mobile sessions on a device it can reach in one of three ways:
| Device mode | What the agent uses |
|---|---|
| Emulator | An Android emulator the agent starts itself |
| Real device | A phone or tablet attached to the agent machine |
| Remote | A device on another machine, reached through that machine's Appium server |
The workload decides which app to drive and what to do in it. The profile says which device to use, and, only when needed, which app the agent must install or launch first.
Before you begin
- At least one Core Agent is registered and online. Full Agents cannot run Mobile sessions, and the agent list in the wizard only offers Core Agents for this technology.
- For an emulator or a real device: the Core Agent machine has the Android tooling and the emulator image or the attached device. The Core Agent starts and manages Appium itself.
- For iOS: a Mac runs Appium with its XCUITest driver and holds the simulator or the device. iOS always uses the Remote device mode, pointed at that Mac's Appium server.
- You know the workload (scenario) the profile should run.
Steps
Step 1
Open Testing > Load Profiles and select New Profile. On the New Load Profile page, under Select Technology, choose the Mobile card ("Android/iOS apps via Appium") and select Continue.
The wizard has six steps: Technology, Users & Agents, Connection, Scenario, Advanced and Review.
Step 2
On Users & Agents, choose the users and the Core Agents that will run the sessions. Only Core Agents are listed.
Step 3
On Connection, fill in Which device:
- Platform: Android or iOS.
- Device mode: "Emulator: an emulator the agent starts", "Real device: a device attached to the agent" or "Remote: a device on another machine, via its Appium server". Choose Remote for iOS.
- Device profile (optional): the AVD name or simulator type. Leave it empty and the engine decides.
- Device serial (optional): the adb serial or the UDID of the device to use. Leave it empty and the engine decides.
Step 4
Fill in Which app (optional) only when the agent has to install or launch the app before the workload runs: App package (apk/ipa path or URL), Android package, Android activity or iOS bundle id. When the workload starts the app itself, leave this group empty.
Step 5
Check Session behaviour (advanced):
| Field | What it does |
|---|---|
| Appium URL | Required for a Remote device: the Appium server of the machine that holds the device, for example http://APPIUM_HOST:4723/. Leave it empty otherwise; the Core Agent runs Appium itself. |
| Headless | Runs the emulator without a window. |
| Keep warm | Keeps the device booted between sessions. |
| Boot timeout (seconds) | How long a device may take to boot. 0 or less saves the default of 180. |
| Users per agent | How many mobile sessions one Core Agent runs. Below 1 saves the default of 2. |
| Extra capabilities (JSON) | One JSON object of Appium capabilities merged into the session, for example {"appium:noReset": true}. Leave it empty for none. |
The wizard checks these rules as you type, and Next stays blocked until they pass:
- A platform and a device mode are chosen.
- iOS uses the Remote device mode with an Appium URL pointing at the Mac.
- A Remote device has a valid Appium URL.
- Extra capabilities, when filled in, are a single JSON object.
Step 6
Choose the workload on Scenario, adjust Advanced if needed, and check the summary on Review. If the Review step shows "Device settings incomplete:", select Go to the Connection step and correct the rule it names; the profile cannot be saved until the Connection step passes. Save the profile.
Verify the result
The profile appears on Testing: Load Profiles grouped under Mobile, with a phone icon and a pill that names the platform and device, for example "Android · Pixel_7_API_34". Run a short test with one user to confirm that the agent can open a session on the device before you scale up.
Troubleshooting
- "A Core Agent cannot run a mobile session" when the test starts: the selected Core Agent machine cannot start or reach the device. Check the Android tooling or the attached device on that machine, or use a Remote device.
- "No Core Agent for a Mobile profile": the profile has no Core Agent that can run it. Add an online Core Agent on Users & Agents.
- The run-test confirmation mentions aggressive ramp-up settings for a Mobile profile: the wording of that acknowledgement is shared with other technologies. Read the reason listed above it.