Skip to main content
Control real Mobile Safari in the iOS Simulator for authentic mobile web testing. Requires macOS with Xcode.

Prerequisites

  • macOS with Xcode installed
  • Appium and XCUITest driver

Installation

1

Install Appium

2

Install XCUITest driver

Usage

List Available Devices

View all available iOS simulators:

Launch Safari on Simulator

Use the -p ios provider flag to enable iOS mode:

Basic Workflow

All standard commands work identically on iOS:

Mobile-Specific Commands

iOS mode includes touch gestures:

Environment Variables

VariableDescription
AGENT_BROWSER_PROVIDERSet to ios to enable iOS mode
AGENT_BROWSER_IOS_DEVICEDevice name (e.g., “iPhone 16 Pro”, “iPad Pro”)
AGENT_BROWSER_IOS_UDIDDevice UDID (alternative to device name)

Real Device Support

Appium also supports real iOS devices connected via USB. Additional one-time setup required:
1

Get your device UDID

2

Sign WebDriverAgent

Open the WebDriverAgent Xcode project:
In Xcode:
  • Select the WebDriverAgentRunner target
  • Go to Signing & Capabilities
  • Select your Team (requires Apple Developer account, free tier works)
  • Let Xcode manage signing automatically
3

Connect and use

Real device notes:
  • First run installs WebDriverAgent to the device (may require Trust prompt)
  • Device must be unlocked and connected via USB
  • Slightly slower initial connection than simulator
  • Tests against real Safari performance and behavior

Performance

First launch takes ~30-60 seconds as the simulator boots and Appium starts. Subsequent commands are fast.

Supported Devices

All iOS Simulators available in Xcode are supported, including:
  • iPhones (all models)
  • iPads (all models)
  • Real iOS devices (with additional setup)

Example: Mobile Testing Workflow